如何在Mongo db现有集群中添加包含数据的其他节点?

时间:2017-05-15 06:50:32

标签: mongodb

我有3个节点集群(Mongodb1,mongodb2,mongodb3),其中一个(Mongo1)我已经更改了数据路径(/ mongodb-disk / data)。我已将旧数据驱动器连接到该db节点。我想与群集建立连接以将该数据库与其他节点同步。现在这个节点成为其他节点。并且我无法更改rs.conf文件,其中“ id”:“rs clarifi",”host“:”ip-172-31-25-55.ec2.internal:27017 “,”host“:”ip-172-31-21-48.ec2.internal:27017“,enter code here”host“:”ip-172-31-20-181.ec2.internal:27017“ ,我做了$ mongo rs_clarifi:OTHER> cfg = rs.conf()rs_clarifi:OTHER> cfg.members [0] .host =“mongodb1:27017”rs_clarifi:OTHER> rs.reconfig(cfg){“ok”:0 ,“errmsg”:“replSetReconfig只能在PRIMARY上运行,但我的状态是REMOVED;使用\“force \”参数覆盖“,”代码“:10107,”codeName“:”NotMaster“}

2 个答案:

答案 0 :(得分:1)

    I execute these command to all 3 node 
    use local
    db.system.replset.find()
     db.system.replset.remove({ "_id" : "rs_clarifi", "version" : 10, "members" : [ { "_id" : 1, "host" : "ip-172-31-25-55.ec2.internal:27017" }, { "_id" : 2, "host" : "ip-172-31-21-48.ec2.internal:27017", "arbiterOnly" : true }, { "_id" : 3, "host" : "ip-172-31-20-181.ec2.internal:27017", "priority" : 2 } ] })
    My didnt loose my data and  then
rs.initiate( {
   _id : "rs0",
   members: [ { _id : 0, host : "mongodb1:27017" } ]
})

by this i again make an replication,.

答案 1 :(得分:0)

您只需要在master上添加新节点(配置将在所有群集节点上复制)。 群集节点将连接到新节点并指示新节点(更新其配置)。 旧数据可以从磁盘中删除,节点将自动同步。