聲明:該版本為測(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.開(kāi)放防火墻端口
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ù)地址如下
執(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)聽(tīng)地址
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
開(kāi)啟防火墻
firewall-cmd --zone=public --add-port=9100/tcp --permanent
firewall-cmd --reload
首先開(kāi)啟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換成更高版本額