ElasticSearch-将数据节点添加到现有集群中.最佳实践是什么



我有一个正在运行的Elasticsearch集群,它包含3个主节点和5个数据节点。版本为7.6.0

主节点配置如下:

cluster.name: es-cluster
node.name: master-0[1-3]
bootstrap.memory_lock: true
node.master: true
node.voting_only: false
node.data: false
node.ingest: false
node.ml: false
path.data: /data/elasticsearch
path.logs: /var/log/elasticsearch
http.port: 9200
network.host: 0.0.0.0
discovery.seed_hosts:
- IP-master-01:9300
- IP-master-02:9300
- IP-master-03:9300
- IP-data-01:9300
- IP-data-02:9300
- IP-data-03:9300
- IP-data-04:9300
- IP-data-05:9300

数据节点配置:

cluster.name: es-cluster
node.name: data-0[1-5]
bootstrap.memory_lock: true
node.data: true
node.master: false
node.voting_only: false
node.ingest: false
node.ml: false
cluster.remote.connect: false
path.data: /data/elasticsearch
path.logs: /var/log/elasticsearch
http.port: 9200
network.host: 0.0.0.0
discovery.seed_hosts:
- IP-master-01:9300
- IP-master-02:9300
- IP-master-03:9300
- IP-data-01:9300
- IP-data-02:9300
- IP-data-03:9300
- IP-data-04:9300
- IP-data-05:9300

我将添加一个新的数据节点。请帮助我了解将节点添加到现有ES集群的最佳实践

问题是关于参数discovery.seed_hosts。据我所知,所有ES节点的参数都应该相同,所以在我的情况下,这意味着我应该添加以下内容:

- IP-data-06:9300

到所有ES节点(当然,包括新创建的节点(的discovery.seed_hosts

但这是否意味着,在添加第6个数据节点后,我必须重新启动所有其他节点?否则,如何将相同的配置应用于所有ES节点?或者,所有节点的相同discovery.seed_hosts根本不重要?

提前感谢您的澄清。

您犯了一个小错误,discovery.seed_hosts应该只有主合格节点,而不是所有节点。

由于您正在添加一个数据节点,因此不需要将此节点添加到此配置中,也可以在新的数据节点中从该配置中删除所有不符合主机条件的节点。

只需在所有数据节点中使用此配置即可。

cluster.name: es-cluster
node.name: data-X
bootstrap.memory_lock: true
node.data: true
node.master: false
node.voting_only: false
node.ingest: false
node.ml: false
cluster.remote.connect: false
path.data: /data/elasticsearch
path.logs: /var/log/elasticsearch
http.port: 9200
network.host: 0.0.0.0
discovery.seed_hosts:
- IP-master-01:9300
- IP-master-02:9300
- IP-master-03:9300

现在不需要重新启动所有节点,但当您计划重新启动时,请修复您的配置,并仅将符合条件的主节点保留在discovery.seed_hosts设置中。

相关内容

最新更新