elasticsearch集群配置(PreviewVersion) 準備 首先需要在每個節點有可以正常啟動的單節點elasticsearch elasticsearch集群配置僅需要在elasticsearch.yml添加相應配置 vim /YouPath/elasticsearch-5.1.2/c ...
elasticsearch集群配置(PreviewVersion)
準備
首先需要在每個節點有可以正常啟動的單節點elasticsearch
elasticsearch集群配置僅需要在elasticsearch.yml添加相應配置
vim /YouPath/elasticsearch-5.1.2/config/elasticsearch.yml
另外在集群配置完畢後還會在任一節點安裝Kibana來進行“可視化管理 Elasticsearch”(collating)
基礎配置
在其中加入如下配置
cluster.name: clusterName
node.name: “yourEachNodeName”
network.host: yourNodeIp
http.port: 9200
transport.tcp.port: 9300
discovery.zen.ping.unicast.hosts: ["network.host1","network.host2","network.host3"]
這是進行配置的最基礎項(http.port和transport.tcp.port應該也可以去掉),主要需要關註的是 ↓
-
cluster.name是集群名,elasticsearch一般使用多播自動建立集群,只要與其他節點有相同的cluster.name集群名,當啟動後有同名節點時它就會自動加入組成集群
-
network.host需要填內網Ip。如果在https://www.cnblogs.com/G-Aurora/p/13111162.html(解決只能通過localhost驗證elasticsearch的問題)中已經將network.host改為0.0.0.0,需要進行再修改。若果忘記替換,在elasticsearch.yml出現兩個network.host的配置(一個為0.0.0.0,一個為IP)則會出現如下error:
-
註意node.name和discovery.zen.ping.unicast.hosts需要引號
-
更新版本中(測試版為5.1.2版)該配置更名為discovery.seed_hosts,官網Doc介紹如下
進階配置
elasticsearch.yml還可以加入許多配置信息,後續使用到我會陸續更新在這裡。
在此之前大家可以參考:
- https://zhuanlan.zhihu.com/p/99208091
- https://juejin.im/post/5bad9520f265da0afe62ed95#heading-0
- https://www.cnblogs.com/yjf512/p/4865930.html
- https://www.elastic.co/guide/en/elasticsearch/reference/current/modules-discovery-settings.html (官網7.7Doc)
驗證
curl -XGET 'http://OneOfYourNodeIp:9200/_cluster/state?pretty
由圖可見在修改network.host---給network.host“綁定“到某個Ip後可能會造成localhost無法訪問,僅能通過ip訪問(原因見此)
es集群機制
(collating)
記憶體的拓展
(collating)在基礎版的ECS上,2G記憶體是遠遠不夠hadoop+zookeeper+hbase+elasticsearch的,可以通過創建swap分區來解決記憶體不足的問題,通過下圖可以參考下elasticsearch預設配置下需要的記憶體大小