【软件安装】es集群只能配置两个节点,无法加入新节点
问题背景首先问题是出在我通过VM搭建ES集群的时候,之前已经搭建了一个2个节点的集群,现在因为要搭建冷热集群,所以需要添加一个节点,之前是在VM上开启的虚拟机搭建的2个节点,所以克隆的方式复制了一个节点,修改了IP和es配置文件,启动之后发现新节点始终无法加入集群解决步骤检查配置文件首先确保了配置文件的正确性,要搭建集群要注意的配置项如下# 集群名保持一致cluster-name: cluster
问题背景
首先问题是出在我通过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指令查看集群节点状态
更多推荐
所有评论(0)