elasticsearch集群配置(PreviewVersion)

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:

    elasticsearch集群配置(PreviewVersion)_第1张图片

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

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

    elasticsearch集群配置(PreviewVersion)_第2张图片

 

进阶配置

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

elasticsearch集群配置(PreviewVersion)_第3张图片

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

 

es集群机制

(collating)

 

内存的拓展

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

elasticsearch集群配置(PreviewVersion)_第4张图片

 

你可能感兴趣的:(elasticsearch集群配置(PreviewVersion))