elasticsearch集群配置 (Tobe Continue)

时间:2022-06-13 02:32:09

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:

    elasticsearch集群配置 (Tobe Continue)

  • 注意node.name和discovery.zen.ping.unicast.hosts需要引号

  • 更新版本中(测试版为5.1.2版)该配置更名为discovery.seed_hosts官网Doc介绍如下

    elasticsearch集群配置 (Tobe Continue)

 

进阶配置

elasticsearch.yml还可以加入许多配置信息,后续使用到我会陆续更新在这里。

在此之前大家可以参考:

 

验证

curl -XGET 'http://OneOfYourNodeIp:9200/_cluster/state?pretty'

elasticsearch集群配置 (Tobe Continue)

由图可见在修改network.host---给network.host“绑定“到某个Ip后可能会造成localhost无法访问,仅能通过ip访问(原因见

(Tobe Continue) 正常来说es集群启动后通过上述命令应该会列出所有node的信息,可能正常情况与图中不符,或者因为版本原因显示地不一样,修复中。

 

内存的拓展

在基础版的ECS上,2G内存是远远不够hadoop+zookeeper+hbase+elasticsearch的,可以通过创建swap分区来解决内存不足的问题,通过下图可以参考下elasticsearch默认配置下需要的内存大小

elasticsearch集群配置 (Tobe Continue)