centos7部署ElasticSearch

聲明:該版本為測(cè)試功能,可作為參考,如有錯(cuò)誤,敬請(qǐng)指教

1.進(jìn)入官網(wǎng)下載安裝包

官網(wǎng)地址:https://www.elastic.co/downloads/past-releases

我下載的版本為5.6.9,移入/usr/local/tools目錄下,并且解壓縮到/usr/elasticsearch目錄下

tar -zxvf elasticsearch-5.6.9.tar.gz -C /usr/local/elasticsearch

2.es規(guī)定root用戶不能啟動(dòng)es,所以需要?jiǎng)?chuàng)建一個(gè)用戶來(lái)啟動(dòng)es

創(chuàng)建用戶名為elastic的用戶

useradd?elastic

設(shè)置elastic用戶的密碼

passwd elastic

3.創(chuàng)建es的data和logs目錄

cd /usr/local/elasticsearch/elasticsearch-5.6.9

mkdir -p data

mkdir -p logs

4.將/usr/local/elasticsearch/elasticsearch-5.6.9的擁有者設(shè)置為elastic

chown -R elastic:elastic /usr/local/elasticsearch/elasticsearch-5.6.9

5.編輯配置文件

cd config/

vim elasticsearch.yml

編輯內(nèi)容如下:

network.host:?你自己的服務(wù)器ip? 可以設(shè)置為0.0.0.0

http.port: 9200

6.開放防火墻端口

firewall-cmd --zone=public --add-port=9200/tcp --permanent

firewall-cmd --zone=public --add-port=9300/tcp --permanent

firewall-cmd --reload

7.啟動(dòng)elasticsearch

切換用戶

su?elastic

啟動(dòng)

/usr/local/elasticsearch/elasticsearch-5.6.9/bin/elasticsearch -d

查看進(jìn)程

ps aux | grep Elasticsearch

8.相關(guān)操作語(yǔ)句

查詢?nèi)繑?shù)據(jù)

curl localhost:9200/_search?pretty=true

查詢?nèi)克饕?/p>

curl localhost:9200/_cat/indices?v


9.安裝ik中文分詞器

下載最新版本的ik分詞庫(kù),github地址為https://github.com/medcl/elasticsearch-analysis-ik,下載zip包

找到對(duì)應(yīng)版本的ik分詞庫(kù)zip,本系統(tǒng)安裝分詞庫(kù)地址如下

https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v5.6.9/elasticsearch-analysis-ik-5.6.9.zip

執(zhí)行如下命令

cd /usr/local/elasticsearch/elasticsearch-5.6.9/bin/

./elasticsearch-plugin???installhttps://github.com/medcl/elasticsearch-analysis-ik/releases/download/v5.6.9/elasticsearch-analysis-ik-5.6.9.zip

然后重啟Elasticsearch

測(cè)試語(yǔ)句如下:

curl -XGET 'http://localhost:9200/_analyze?pretty&analyzer=ik_smart' -d '我是雨哥哥'


10.安裝head插件

(1)下載head插件

wgethttps://github.com/mobz/elasticsearch-head/archive/master.zip

解壓

unzip?master.zip

mv?elasticsearch-head-master?/usr/local/elasticsearchhead

修改elasticsearch下的config/elasticsearch.yml,添加如下代碼

http.cors.enabled: true

http.cors.allow-origin: "*"

(2)下載node.js

從node.js官網(wǎng)https://nodejs.org/dist/下載安裝包

wgethttps://nodejs.org/dist/v6.9.2/node-v6.9.2-linux-x64.tar.xz

解壓并移動(dòng)

xz -d node-v6.9.2-linux-x64.tar.xz

tar –xvf node-v6.9.2-linux-x64.tar

mv node-v6.9.2-linux-x64 /usr/local/nodejs

配置環(huán)境變量

vim /etc/profile

配置內(nèi)容如下

#nodejs

export NODE_HOME=/usr/local/nodejs/node-v6.9.2-linux-x64

export PATH=$PATH:$NODE_HOME/bin

#nodejs

重啟

source /etc/profile

查詢nodejs版本

node -v

(3)下載安裝grunt

cd /usr/local/elasticsearchhead/elasticsearch-head-master

執(zhí)行后會(huì)生成node_modules文件夾

npm install -g grunt-cli

校驗(yàn)是否安裝成功

grunt -version

(4)修改head插件源碼

以下兩個(gè)文件均存在于elasticsearch-head-master文件夾下

修改服務(wù)器監(jiān)聽地址

vim Gruntfile.js

增加hostname屬性,設(shè)置為0.0.0.0

修改連接地址

cd _site

vim app.js

修改head的連接地址

this.base_uri = this.config.base_uri || this.prefs.get("app-base_uri") || "http://localhost:9200";

把localhost改為自己es服務(wù)器的地址

this.base_uri = this.config.base_uri || this.prefs.get("app-base_uri") || "http://111.111.111.111:9200";

(5)運(yùn)行head

開啟防火墻

firewall-cmd --zone=public --add-port=9100/tcp --permanent

firewall-cmd --reload

首先開啟es

然后在head目錄中elasticsearch-head-master執(zhí)行

npm install

cd /usr/local/elasticsearchhead/elasticsearch-head-master/

grunt server


問(wèn)題:

1.Java HotSpot(TM) 64-Bit Server VM warning: INFO: os::commit_memory(0x0000000085330000, 2060255232, 0) failed; error='Cannot allocate memory' (errno=12)

解決辦法:

由于elasticsearch5.0默認(rèn)分配jvm空間大小為2G,修改jvm空間分配

如果使用虛擬機(jī)安裝內(nèi)存最好不小于2G

cd config/

vim?jvm.options

-Xms512m

-Xms512m

2.org.elasticsearch.bootstrap.StartupException: BindTransportException[Failed to bind to [9300-9400]]; nested: BindException[Cannot assign requested address];

解決辦法:

vim elasticsearch.yml

設(shè)置network.host = 0.0.0.0

3.[1]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]

解決辦法:

提高vm.max_map_count的大小

切換到root用戶

vim /etc/sysctl.conf

在其中添加

vm.max_map_count=262144

然后執(zhí)行

sysctl -p

4.java.lang.IllegalStateException: Received message from unsupported version: [2.0.0] minimal compatible version is: [5.0.0]

解決辦法:

把springboot中的es包換成高于2.0的版本

springboot目前只支持大版本為2的elasticsearch,所以我們把springboot換成更高版本額

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容