首先需要在每个节点有可以正常启动的单节点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还可以加入许多配置信息,后续使用到我会陆续更新在这里。
在此之前大家可以参考:
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默认配置下需要的内存大小
联系客服