【软件安装】es集群只能配置两个节点,无法加入新节点

本文详细记录了解决 Elasticsearch 集群新节点无法加入的问题。首先,确认配置文件中的集群名、节点名和seed hosts设置正确。接着,检查并修改网卡配置中的UUID以确保唯一性。当配置文件无误后,由于克隆节点的数据目录存在相同数据,删除所有节点的data/nodes文件夹以避免冲突。重启后,新节点成功加入集群。此方法适用于本地测试环境,线上环境建议仅删除新节点data/nodes。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

问题背景

首先问题是出在我通过VM搭建ES集群的时候,之前已经搭建了一个2个节点的集群,现在因为要搭建冷热集群,所以需要添加一个节点,之前是在VM上开启的虚拟机搭建的2个节点,所以克隆的方式复制了一个节点,修改了IP和es配置文件,启动之后发现新节点始终无法加入集群

解决步骤

检查配置文件

首先确保了配置文件的正确性,要搭建集群要注意的配置项如下

# 集群名保持一致
cluster-name: cluster1
# 节点名要唯一,不要重复
node-name: node-3
# 添加上集群所有节点的IP
# ps: 节点数过多的不用全部添加,有别的方法,这里不做详述,有兴趣自查
discovery.seed_hosts: ["ip1","ip2","ip3"]

检查网卡文件

这里我也是排查完配置文件后没有发现问题,才想到的网卡文件中之前只修改了ip还没有修改uuid,要保证uuid的唯一性
修改网卡配置指令(我这里用的是mac下的VM,创建出来的网卡叫ens33,注意自己的网卡名,window下的应该是ens0)

vi /etc/sysconfig/network-scripts/ifcfg-ens33

删除data/nodes文件夹

上述的问题排查完后都还是没办法加入节点,于是我关闭了node2,发现node1与node3结成集群了,这说明配置文件应该都没问题了,但它们能结成集群一个很重要的前提是node3是node2的克隆副本,我想到虽然网卡信息和配置文件修改了,但是还有一个至关重要的东西他们是一样的,那就是存储节点数据的data文件夹。
这个应该就是问题所在了,我因为是本机搭建测试,所以采取了最粗暴的方式,将三个节点data/nodes文件夹都删除了,如果你是线上环境的话,可以先试试只删除node3的data/nodes,然后启动试试看,这里我因为没有做这个测试,无法给出准确答案,如果还是不行的话,可以留言,大家做些探讨
需要注意的是,data文件夹是你在es配置文件中配置的data路径,默认是在es安装路径下的data目录,但是不建议使用默认配置,因为data是存放索引数据的,如果es重新安装或者升级的话,因为data在es安装路径下,就会导致数据丢失,所以建议放在es目录外,这里我自己配置的是/var/local/elasticsearch_data,所以我只需要将这个目录的nodes目录删除即可

rm -rf /var/local/elasticsearch_data/nodes

重启之后节点加入成功,可以通过_cat/nodes指令查看集群节点状态

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

wu@55555

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值