【发布时间】:2020-07-30 07:00:47
【问题描述】:
我在我的 mongodb 集群中添加了一个分片服务器。添加新的分片服务器后,我在主节点上收到此错误。
DBException thrown :: caused by ::
CannotImplicitlyCreateCollection{ ns: "config.system.sessions" }:
request doesn't allow collection to be created implicitly
新的分片服务器是新的,之前没有任何数据。
我是如何添加分片服务器的?
我创建了一个文件 /etc/mongod.conf(就像我的其他分片服务器一样)
sharding:
clusterRole: shardsvr
replication:
replSetName: shardReplicaSet10
storage:
dbPath: /mnt/mongodb
systemLog:
traceAllExceptions: true
path: /mnt/log/mongodb/out.log
logAppend: true
logRotate: rename
destination: file
processManagement:
fork: true
net:
bindIp: localhost,172.6.7.5
然后我在这个replicaSet中有另一个成员具有相同的配置文件,只是bindIp被改变了。
我连接到我的 mongos 节点并添加副本集
sh.addShard("shardReplicaSet10/172.6.7.5:27018,172.6.7.6:27018")
我可以确认我已经使用 rs.initiate() 启动了副本集
【问题讨论】:
-
如何将新服务器添加到集群中?最好更新问题而不是在评论中回答
-
谢谢@noam。我已经添加了详细信息。
-
什么是分片服务器? RS 节点?一个完整的RS?您指的是什么主要的(您应该使用 mongos 进行操作,而不是直接使用任何分片)?
-
还有你关注的 MongoDB 文档
-
试试
net.bindIpAll: true。所有其他分片和所有配置主机和所有 mongos 都需要连接到分片。我猜localhost,172.6.7.5是不够的。