elasticsearch集群配置 (Tobe Continue)
準備
首先需要在每個節點有可以正常啟動的單節點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訪問(原因見此)
(Tobe Continue) 正常來說es集群啟動后通過上述命令應該會列出所有node的資訊,可能正常情況與圖中不符,或者因為版本原因顯示地不一樣,修復中,
記憶體的拓展
在基礎版的ECS上,2G記憶體是遠遠不夠hadoop+zookeeper+hbase+elasticsearch的,可以通過創建swap磁區來解決記憶體不足的問題,通過下圖可以參考下elasticsearch默認配置下需要的記憶體大小

轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/3137.html
標籤:大數據
