MongoDB Could not find host matching read preference { mode: “primary” } for set rs2

本阶段在搭建mongodb分布式集群,搭建好了所有节点,添加db.runCommand({addShard:"rs2/192.168.32.131:27019,192.168.32.132:27019,192.168.32.133:27019",name:"s2",maxsize:10240})分片时,一直报MongoDB Could not find host matching read preference { mode: “primary” } for set rs2该错误,错误如下:

我一直在想出现这个问题的原因,有可能IP写错了,有可能执行的副本集名称和实际不符.......对照了文档看有没有遗漏的,我想尽了出现这个问题的所有可能还是没有找到答案,最后我突然想到:有没有可能我根本没有该副本集成员。于是我检查前面的步骤果然是这个问题。于是返回mongo添加副本集成员

我的虚拟机master是主节点

执行以下命令:

./mongo --host master --port 27019

 对副本集进行初始化:

rs.initiate()

执行结果:

{
	"info2" : "no configuration specified. Using a default configuration for the set",
	"me" : "192.168.32.131:27019",
	"ok" : 1
}

接着添加其他成员:

rs.add("192.168.32.132:27019")
rs.add("192.168.32.133:27019")

如果运行结果均显示ok:1的话则表示添加成功

其次退出进入mongodb的bin目录下执行以下命令:

./mongo --host master --port 27017

添加rs2:

db.runCommand({addShard:"rs2/192.168.32.131:27019,192.168.32.132:27019,192.168.32.133:27019",name:"s2",maxsize:10240})

运行结果为ok:1添加成功

最后执行命令sh.status()查看状态:

均有rs1和rs2呀!!!问题解决!!!

 

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值