首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在本地搭建高可用的elasticsearch集群?

如何在本地搭建高可用的elasticsearch集群?
EN

Stack Overflow用户
提问于 2021-03-19 19:25:33
回答 1查看 136关注 0票数 0

我是Elasticsearch的新手,我想在一台机器上设置一个高度可用的Elasticsearch集群,以测试和学习如何使用Elasticsearch。我希望当主节点发生故障时,其他节点中的一个节点将接管并成为主节点。在我的机器上,我设置了一个由3个节点、一个主节点和两个数据节点组成的Elasticsearch集群,但是当我停止主节点时,没有其他节点接管并成为主节点,这是我对这三个节点的配置( elasticsearch的使用版本是7.9.2):

代码语言:javascript
复制
# master node config.

cluster.name:demo-cluster
node.name: "es-node-1"
node.master: true
node.data: false
discovery.zen.minimum_master_nodes: 2
代码语言:javascript
复制
#  data node 1 config.

cluster.name:demo-cluster
node.name: "es-node-2"
node.master: false
node.data: true
discovery.zen.minimum_master_nodes: 2
代码语言:javascript
复制
# data node 2 config.

cluster.name:demo-cluster
node.name: "es-node-3"
node.master: false
node.data: true
discovery.zen.minimum_master_nodes: 2

有谁有主意吗?

EN

回答 1

Stack Overflow用户

发布于 2021-03-19 21:20:36

只有一个节点有配置node.master: true,所以只有这个节点有资格做主节点,如果这个节点失败了,你就不会有另一个主节点,你的集群也不会工作。

您需要将所有三个节点都设置为node.master: true,这样,如果主节点出现故障,集群中的其余两个节点将选择谁将成为新的主节点。

此外,您使用的是7.X版本,在此版本中,发现设置已更改且discovery.zen.minimum_master_nodes已弃用,因此您应使用discovery.seed_hostscluster.initial_master_nodes,如documentation中所述。

代码语言:javascript
复制
discover.seed_hosts: ["es-node-1", "es-node-2", "es-node-3"]
cluster.initial_master_nodes: ["es-node-1", "es-node-2", "es-node-3"]

为此,您的所有节点都应该在配置文件中包含node.master: true。这将允许您的集群在丢失一个节点的情况下正常工作。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66707269

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档