Springboot2.x整合ElasticSearch7.x實(shí)戰(zhàn)(一)
學(xué)習(xí)一個(gè)新技術(shù),最快的掌握方式就是先學(xué)會(huì)使用,讓我們有了很強(qiáng)的滿足感,在研究底層代碼。
本篇幅是繼上一篇Springboot2.x整合ElasticSearch7.x實(shí)戰(zhàn)目錄,適合初學(xué) Elasticsearch 的小白,可以跟著整個(gè)教程做一個(gè)練習(xí)。
編者薦語(yǔ):在大數(shù)據(jù)搜索中,Elasticsearch 使用頻率非常高。學(xué)習(xí) Java 了解大數(shù)據(jù)那是我們 Java 攻城獅很好的選擇。
自我介紹
ElasticSearch SpringBoot 介紹
ElasticSearch
SpringBoot
環(huán)境介紹
服務(wù)器環(huán)境
Linux安裝JDK
Linux安裝es,方法和要點(diǎn)
es集群、初步配置和使用
啟動(dòng):
安裝使用可視化工具插件head,Cerebro
第一章 課程介紹
自我介紹
大家好,我是pub哥
ElasticSearch SpringBoot 介紹
ElasticSearch
ElasticSearch 是一個(gè)開(kāi)源的搜索引擎,建立在一個(gè)全文搜索引擎庫(kù) Apache Lucene? 基礎(chǔ)之上。 Lucene 可以說(shuō)是當(dāng)下最先進(jìn)、高性能、全功能的搜索引擎庫(kù)——無(wú)論是開(kāi)源還是私有。
ElasticSearch 使用 Java 編寫(xiě)的,它的內(nèi)部使用的是 Lucene 做索引與搜索,它的目的是使全文檢索變得簡(jiǎn)單,通過(guò)隱藏 Lucene 的復(fù)雜性,取而代之提供了一套簡(jiǎn)單一致的 RESTful API。
然而,ElasticSearch 不僅僅是 Lucene,并且也不僅僅只是一個(gè)全文搜索引擎,它可以被下面這樣準(zhǔn)確地形容:
一個(gè)分布式的實(shí)時(shí)文檔存儲(chǔ),每個(gè)字段可以被索引與搜索
一個(gè)分布式近實(shí)時(shí)分析搜索引擎
能勝任上百個(gè)服務(wù)節(jié)點(diǎn)的擴(kuò)展,并支持 PB 級(jí)別的結(jié)構(gòu)化或者非結(jié)構(gòu)化數(shù)據(jù)
Elasticsearch 是與名為 Logstash 的數(shù)據(jù)收集和日志解析引擎以及名為 Kibana 的分析和可視化平臺(tái)一起開(kāi)發(fā)的。這三個(gè)產(chǎn)品被設(shè)計(jì)成一個(gè)集成解決方案,稱為 “Elastic Stack” (以前稱為“ELK stack”)。
SpringBoot
Spring Boot 是由 Pivotal 團(tuán)隊(duì)提供的全新框架,其設(shè)計(jì)目的是用來(lái)簡(jiǎn)化新 Spring 應(yīng)用的初始搭建以及開(kāi)發(fā)過(guò)程。該框架使用了特定的方式來(lái)進(jìn)行配置,從而使開(kāi)發(fā)人員不再需要定義樣板化的配置。用我的話來(lái)理解,就是 Spring Boot 其實(shí)不是什么新的框架,它默認(rèn)配置了很多框架的使用方式,就像 Maven 整合了所有的 Jar 包,Spring Boot 整合了所有的框架。
簡(jiǎn)單來(lái)說(shuō),使用 Spring Boot 可以非常方便、快速搭建項(xiàng)目,使我們不用關(guān)心框架之間的兼容性,適用版本等各種問(wèn)題,我們想使用任何東西,僅僅添加一個(gè)配置就可以,所以使用 Spring Boot 非常適合構(gòu)建微服務(wù)。
環(huán)境介紹
centOS 7.3 JDK1.8 及以上 ElasticSearch 7.*
第二章 軟件安裝
服務(wù)器環(huán)境
確保你的服務(wù)器安裝了 jdk1.8 或以上版本環(huán)境
Elasticsearch通過(guò)文件映射(mmap)來(lái)讀取磁盤(pán)中的文件,這樣可以比read
系統(tǒng)調(diào)用少一次內(nèi)存拷貝,也被稱為0拷貝技術(shù)。ES映射的文件會(huì)很多,所以需要修改最大映射文件的數(shù)量,通過(guò)修改vm.max_map_count
配置項(xiàng)可實(shí)現(xiàn)。設(shè)置方式
文件最后添加一行 vim /etc/sysctl.conf vm.max_map_count=262144
以上幾點(diǎn)是環(huán)境搭建的基礎(chǔ)
Linux安裝JDK
es 最小支持 jdk 版本是 jdk8
Linux安裝es,方法和要點(diǎn)
國(guó)內(nèi)版本鏡像頁(yè):https://mirrors.huaweicloud.com/elasticsearch/
下載:
wget https://mirrors.huaweicloud.com/elasticsearch/7.7.0/elasticsearch-7.7.0-linux-x86_64.tar.gz
解壓:
tar -zxvf elasticsearch-7.7.0-linux-x86_64.tar.gz
es集群、初步配置和使用
設(shè)置堆內(nèi)存,修改 jvm.options
,學(xué)習(xí)階段初學(xué)者 200m 即可,示例如下。
-Xms200m
-Xmx200m
在啟動(dòng)前,先修改配置文件, config/elasticsearch.yml
貼一下全部配置(ip地址是服務(wù)器對(duì)外訪問(wèn)地址):
cluster.name:?my-application
node.name:?node01
node.master:?true
node.data:?true
#bootstrap.memory_lock:?false
#bootstrap.system_call_filter:?false
network.host:?0.0.0.0
http.port:?9200
transport.tcp.port:?9300
http.cors.enabled:?true
http.cors.allow-origin:?"*"
#?集群發(fā)現(xiàn):配置該節(jié)點(diǎn)會(huì)與哪些候選地址進(jìn)行通信,默認(rèn)端口9300,可填ip;ip+port;域名
discovery.seed_hosts:?["39.12.1.1"]
#?
cluster.initial_master_nodes:?["39.12.1.1"]
discovery.zen.minimum_master_nodes:?1
#http.cors.allow-headers:?Authorization
#xpack.security.enabled:?true
#xpack.security.transport.ssl.enabled:?true
啟動(dòng):
./bin/elasticsearch
到此為止,單機(jī)版本已搭建完成。訪問(wèn)下面地址,可以看到我們的es版本信息。 http://ip+9200/
安裝使用可視化工具插件head,Cerebro
這里只介紹 cerebro 安裝
下載:
wget https://github.com/lmenezes/cerebro/releases/download/v0.6.5/cerebro-0.6.5.tgz
解壓:
tar zxvf cerebro-0.6.5.tgz
啟動(dòng):
cd cerebro-0.6.5 bin/cerebro

在看和分享是對(duì)我最大的鼓勵(lì),我是 pub 哥,我們下期再見(jiàn)
財(cái)經(jīng)相關(guān): 有色趨勢(shì)很不錯(cuò),不懂的同學(xué)建議不要交太多學(xué)費(fèi)。