elasticsearch5.x叢集搭建,ik分詞器,head外掛
目標:
1,安裝elasticsearch叢集(一個伺服器,兩個節點)
2,安裝head外掛
3,使用ik分詞器
現狀:
1,系統centos6.9+jdk1.8
2,提前修改好ulimit,調整nproc、nofile大小
3,在/etc/sysctl.conf中提前把虛擬記憶體修改好。最少放262144
4,目前ip(使用阿里雲)
外網ip:39.106.13.171
內網ip:172.17.127.115
步驟:
備註:預設不使用root使用者安裝。我新建的賬戶和root是一個組。
(一)安裝elasticsearch
1,下載並上傳elasticsearch到自己的目錄
2
因為Centos6不支援SecComp,而ES5.4.1預設bootstrap.system_call_filter為true進行檢測,所以導致檢測失敗,失敗後直接導致ES不能啟動。所以新增下邊這個
3,修改配置檔案
調整為自己電腦支援的記憶體大小:
4,驗證
啟動elasticSearch服務
網址輸入:
返回結果
(二)安裝head外掛
從5.x開始,官網不支援elasticsearch外掛安裝,推薦把它做成一個獨立的服務。需要使用到git和nodejs,提前安裝好
1,安裝git,需要root使用者
2
解壓:
複製到usr/local目錄
配置環境變數
使環境變數生效
測試是否成功
3,下載head的git安裝包(使用自己使用者)
4,進行elasticsearch-head的安裝(使用root)
在config/elasticsearch結尾新增:
執行服務
5,檢驗結果
(三)安裝ik分詞器(分詞器一定要和版本進行匹配)
1,下載並解壓縮
2,複製到plugins/ik
建立ik目錄
複製
3,重啟服務
查詢程序
Kill殺死程序
重啟服務
4,驗證
http://39.106.13.171:9200/_analyze?analyzer=ik_smart&pretty=true&text=
或者:
http://39.106.13.171:9200/_analyze?analyzer=ik_max_word&pretty=true&text=我是中國人
(四)配置叢集
1,配置elasticsearch.yml
(1)Cluster:
cluster.name: elasticsearch這是叢集的名稱,同一叢集,名稱要一致
(2)node:
node.name: node1 節點名稱
node.master: true是否允許為master節點
node.data: false是否允許為node節點
(3)networkAndHttp:
transport.tcp.port: 9300 節點之間通訊的埠
http.port: 9200網頁訪問的埠
(4)Discovery:
discovery.zen.minimum_master_nodes: 2設定具有成為master資格節點的個數
discovery.zen.ping.unicast.hosts: [“ip:port”,”ip:port”]發現其他節點,(好像可以不加埠號)
2,複製elasticsearch-node1(刪除elasticsearch目錄logs和data),修改第二個節點配置
3,啟動兩個elasticsearch節點,head服務,進行驗證