單節點版的部署參考 安裝和使用 elasticSearch、LogStash、IK(一),分別在三臺ip安裝獨立的 ES之後,進行集羣配置
集羣配置
系統參數設置
- 添加非root用戶,用於執行ES
- 修改系統參數,ES運行的系統參數
# 1 解決:切換到root用戶,編輯limits.conf 添加類似如下內容
vi /etc/security/limits.conf
添加如下內容:
* soft nofile 65536
* hard nofile 131072
* soft nproc 2048
* hard nproc 4096
*
# 2 解決:切換到root用戶,進入limits.d目錄下修改配置文件。
vi /etc/security/limits.d/90-nproc.conf
修改如下內容:
* soft nproc 1024
#修改爲
* soft nproc 2048
vim /etc/sysctl.conf -> vm.max_map_count=262144
# 3 如果你是centos6 :system call filters failed to install; check the logs and fix your configuration or disable system call filters at your own risk
#問題原因:因爲Centos6不支持SecComp,而ES5.2.1默認bootstrap.system_call_filter爲true進行檢測,所以導致檢測失敗,失敗後直接導致ES不能啓動。在elasticsearch.yml中配置bootstrap.system_call_filter爲false,注意要在Memory下面:
bootstrap.memory_lock: false
bootstrap.system_call_filter: false
ES集羣yml參數設置
# vim elasticsearch.yml
#centos6 需要設置
bootstrap.memory_lock: false
bootstrap.system_call_filter: false
network.host: 0.0.0.0
discovery.zen.minimun_master_nodes: 2
discovery.zen.ping.unicast.hosts: ["其他node的ip","其他node的ip"]
http.cors.enabled: true
http.cors.allow-origin: "*"
cluster.name: leon
node.name: node1
# node.master: true
# 如果在某個節點設置了這個參數,那麼這個節點就一直是 Master節點
IK分詞集羣配置
ik 集羣配置 : 直接下載 https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v5.5.1/elasticsearch-analysis-ik-5.5.1.zip
放到集羣節點上的 plugins
目錄下,我的三個節點的目錄分別是:
/elasticsearch/el_slave/es_slave1/plugins
/elasticsearch/el_slave/es_slave2/plugins
/elasticsearch/elasticsearch-5.5.1/plugins
在這三個目錄下 mkdir ik
,再配置 config 文件 ,配置參考 安裝和使用 elasticSearch、LogStash、IK(二)
查看集羣
通過安裝 head
插件 或者 Kibana 圖形化查看集羣狀態,節點,分片等信息
這裏我的集羣是3個節點,所以 discovery.zen.minimun_master_nodes: 2
設置的 最小集羣啓動數目是2個節點,2N-1 。當3個節點有一個發生故障,剩下的兩個節點還可以自行運轉,重新選舉 。
設置 info 索引
3個分片,1個複製,可以在圖上看到,索引分佈在3個分片,又分佈在三個節點上,另外每個分片都有一個複製分片。