关键字:not reachable/healthy

背景:

在添加副本节点以及仲裁节点后,rs.status()查询状态出现not reachable/healthy错误。
依据很多大佬的说法都没有成功解决,但是其中有一个成功了

原因:

我在执行上面添加节点之前,曾启动服务之后单独打开过副本节点以及仲裁节点,另外还操作过节点的remove后再install的操作。此操作会导致各个节点之间IDs不匹配(大佬的猜测且我也这么觉得)

解决方法:

1.关掉各个节点服务
在这里插入图片描述
2.删除各个节点服务

mongod --config D:\MongoDB\master\master.conf --serviceName "master" --serviceDisplayName "master" --remove

3.删除各个服务如下红框内容
在这里插入图片描述
在这里插入图片描述
4.重新连接各个服务

mongod --config D:\MongoDB\master\master.conf --serviceName "master" --serviceDisplayName "master" --install
net start master

在这里插入图片描述
ps:连接成功之后不要再做其他操作,跟着下面走

5.进入master端口
在这里插入图片描述
执行如下代码初始化端口:(千万不要进入其他端口,初始化其他端口)

rs.initiate()

6。再执行添加副本节点、仲裁节点
在这里插入图片描述

在这里插入图片描述
7.查看副本集状态
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
出现如上现象表示副本集创建成功!

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐