我知道可以为 ElasticSearch 集群定义多个 master,其中只有一个作为 master,其他的可以在必要时介入。另见 https://stackoverflow.com/a/15022820/2648551 .
我不明白的是我如何确定哪个主控处于事件状态以及哪个主控可以在必要时介入。
我目前的设置如下:
node-01: master (x) data(-)
node-02: master (-) data(x)
node-03: master (-) data(x)
node-04: master (-) data(x)
node-05: master (-) data(x)
node-06: master (-) data(x)
现在我想确定,例如node-02 成为额外的 master 资格。我可以依赖 ES 如此聪明以至于它总是将非数据节点(node-01)作为事件主节点,或者如果所有节点都存在并且没有节点,node-02 是否会充当事件主节点问题?或者这是我不必担心的事情?
我目前正在使用 ElasticSearch 1.7 [原文如此!],但我也对基于最新版本的答案感兴趣。
最佳答案
稍后,仅针对上下文,我们现在“可以”决定哪个节点成为主节点,尽管这不是直接可能的。
Elasticsearch 现在有一个名为 voting_config_exclusions 的方法可用于离开当前主节点,例如
假设您的集群中有 3 个符合主节点条件的节点
$ GET _cat/nodes?v
ip node.role master name
192.168.0.10 cdfhilmrstw - node-10
192.168.0.20 cdfhilmrstw * node-20
192.168.0.30 cdfhilmrstw - node-30
192.168.0.99 il - node-99
并且 Elasticsearch 已选择 node-20 作为事件主节点,您可以运行以下调用以从投票中删除事件节点。
POST /_cluster/voting_config_exclusions?node_names=node_name
这将随机选择另一个符合主节点条件的节点作为主节点(如果您还有多个剩余节点)继续对事件节点执行此操作,直到您将正确的节点激活为主节点。
注意:这不会删除节点,只会使它成为不活跃的主节点/非投票节点,并允许另一个节点成为主节点。
完成后,请确保运行以下命令以删除排除项,并允许所有符合条件的节点在所选节点出现故障时成为主节点。
DELETE /_cluster/voting_config_exclusions
谢谢
关于elasticsearch - 我可以在 Elasticsearch 集群中手动设置事件主节点吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50424613/