ElasticSearch集群搭建

首先准备三台虚拟机,克隆即可。

要保证你原先的ES启动且访问9100端口没有问题。

 

 

搭建ES集群非常简单,只需要在ES下的config文件夹下的elasticsearch.yml文件进行配置即可,配置如下

cluster.name: my-es    //集群名称,三台机器要保持一致
node.name: node-110  //单个es的名称
network.host: 192.168.x.x   //本机ip
discovery.zen.ping.multicast.enabled: false //多播自动发现禁用开关(6.0以上版本停用了)
node.master: false   //设置主节点
node.data: true        //设置子节点
discovery.zen.ping.unicast.hosts: ["192.168.1.11"]   //主节点ip,端口号可以不设置,默认9300

这是子机器的配置,配置主机器只需要将node.master: true ,    node.data: false即可。

然后启动集群查看健康值

curl -XGET http://localhost:9200/_cluster/health?pretty

在ES集群中可以监控统计很多信息,但是只有一个是最重要的:集群健康(cluster health)。 返回的status字段提供的值反映了集群整体的健康程度,它的状态是由系统中最差的分片决定的,

集群健康有三种状态:

1.green:所有主要分片和复制分片都可用

2.yellow:所有主要分片可用,但不是所有复制分片都可用

3.red:不是所有的主要分片都可用

 

最后访问http://masterip/9100访问,创建索引查看,如果出现以下格式则证明集群成功

 

 

 

注意!!!!

Failed to send join request to master [{node-1}{WbcP0pC_T32jWpYvu5is1A}{2_LCVHx1QEaBZYZ7XQEkMg}{10.10.11.200}{10.10.11.200:9300}], reason [RemoteTransportException[[node-1][10.10.11.200:9300][internal:discovery/zen/join]]; nested: IllegalArgumentException[can't add node {node-2}{WbcP0pC_T32jWpYvu5is1A}{p-HCgFLvSFaTynjKSeqXyA}{10.10.11.200}{10.10.11.200:9301}, found existing node {node-1}{WbcP0pC_T32jWpYvu5is1A}{2_LCVHx1QEaBZYZ7XQEkMg}{10.10.11.200}{10.10.11.200:9300} with the same id but is a different node instance]; ]

问题原因:要是部署的时候从一个节点复制elasticsearch文件夹,其他节点可能包含被复制节点的data文件数据,需要把data文件下的文件清空

 

参考博客:http://www.cnblogs.com/jstarseven/p/6803054.html

 

posted @ 2018-07-28 10:37  徐昌琦  阅读(180)  评论(0编辑  收藏  举报