配置文件
Elasticsearch 集群中的三种角色
1 | 1. 此时节点可以成为任何角色 |
本地第一台配置
我的两个服务都在本地,所以要用端口来区分 elasticsearch.yml
1 | cluster.name: es-ljj |
本地第二台配置
elasticsearch.yml
1 | cluster.name: es-ljj |
检测是否生效
这里两个服务都配置了node.master: true,所以先启动的会被选为 master,而后进来的,data 目录下如果已经有其他数据,则会加入失败。
这时我们对两个服务进行操作
1 | $curl -X PUT '127.0.0.1:9200/users' |
然后查看是否已经生效
1 | $curl -X GET '127.0.0.1:9200/_cat/indices?v' |
两台返回的都是
1 | health status index uuid pri rep docs.count docs.deleted store.size pri.store.size |
表示集群已经可以使用了
动态配置
如果我们要在集群加入一台新服务,或者移除一个老服务,需要修改每个节点配置里的 discovery.zen.ping.unicast.hosts,然后重启每个节点。如果是希望临时修改配置配置,让新的配置马上生效,等到合适的时间再重启每个节点,可以参考 es 提供的集群配置接口。
集群健康
集群健康可以通过 head 插件来监控,也可以使用 es 提供的集群状态接口。
参考资料:
Elasticsearch5.2.1集群搭建,动态加入节点,并添加监控诊断插件 https://blog.csdn.net/gamer_gyt/article/details/59077189
集群配置接口 https://www.elastic.co/guide/en/elasticsearch/reference/current/cluster-update-settings.html