我使用默认配置启动了一些MongoDB副本集,并将它们添加到Cloud Manager中,但是由于默认副本集名称为“ rs0”,因此很难在UI中区分它们。有没有一种方法可以更改副本集的名称,最好不必删除并重新导入集群中的所有数据?
我试过使用rs.reconfig
(link),但是它不允许您更改副本集名称。
是的!这个过程非常简单:
mongod
在每台服务器上停止mongod
备份。如果您使用/etc/mongod.conf
,请删除该replication
部分。如果您不这样做,请忽略以下--replSet
选项mongod
刷新local
复制集配置已缓存的数据库
use local; db.dropDatabase()
(确保admin用户/ root用户dbAdmin
在local
db上具有角色)在复制模式下再次启动所有节点
mongod
在每台服务器上停止/etc/mongod.conf
,请replication
以新名称重新添加该部分并开始mongod
。如果没有,就mongod
用--replSet <new-name>
rs.initiate()
。请勿将任何参数传递给rs.initiate()
。(它将失败并显示错误)您想要设置的任何其他配置都可以在rs.reconfig()
以后使用。rs.initiate()
,对于每个辅助节点,运行rs.add('[secondary.host.name]')
以将其添加到副本集中。这不需要您转储和重新导入数据,并且如果您将其自动化,则可以在最少的停机时间(以及次要数据库同步导致性能下降的时期)内完成。
这是一本完整的故事书(假设您正在通过System V / Upstart /说话的东西来使用/etc/mongod.conf
和管理)。mongod
service
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句