2017-10-05 68 views
0

我想安装副本集但不成功。副本集配置不兼容

这里是所有服务器/etc/mongodb.conf配置文件:

security: 
    keyFile: /opt/svn/mhealth-server-config/etc/mongokey 

replication: 
    replSetName: rs0 

这里是rs.status的结果()主服务器的命令

{ 
     "set" : "rs0", 
     "date" : ISODate("2017-10-05T08:00:57.599Z"), 
     "myState" : 1, 
     "term" : NumberLong(22), 
     "heartbeatIntervalMillis" : NumberLong(2000), 
     "optimes" : { 
       "lastCommittedOpTime" : { 
         "ts" : Timestamp(1507190457, 90), 
         "t" : NumberLong(22) 
       }, 
       "appliedOpTime" : { 
         "ts" : Timestamp(1507190457, 121), 
         "t" : NumberLong(22) 
       }, 
       "durableOpTime" : { 
         "ts" : Timestamp(1507190457, 90), 
         "t" : NumberLong(22) 
       } 
     }, 
     "members" : [ 
       { 
         "_id" : 0, 
         "name" : "......", 
         "health" : 1, 
         "state" : 1, 
         "stateStr" : "PRIMARY", 
         "uptime" : 1256, 
         "optime" : { 
           "ts" : Timestamp(1507190457, 121), 
           "t" : NumberLong(22) 
         }, 
         "optimeDate" : ISODate("2017-10-05T08:00:57Z"), 
         "electionTime" : Timestamp(1507189204, 1), 
         "electionDate" : ISODate("2017-10-05T07:40:04Z"), 
         "configVersion" : 1, 
         "self" : true 
       } 
     ], 
     "ok" : 1 
} 

下一页,我尝试将第二台服务器添加到副本集,它打印以下错误消息:

{ 
     "ok" : 0, 
     "errmsg" : "Our replica set ID of 58fcaf004dd51cd984051968 did not match that of 13.76.170.50:27017, which is 59d3668ea39e555205ab2761", 
     "code" : 103, 
     "codeName" : "NewReplicaSetConfigurationIncompatible" 
} 

它是清除这两个服务器具有相同的副本集名称“rs0”,所以我不知道是什么原因造成的问题。我已阅读this thread,但它不能解决我的问题。任何帮助深表感谢。

+0

找到一个可能的原因。我已经用replSet = rs1启动了辅助服务器。不过,我已经适当地更改了配置文件,但它只是无法识别新的replset rs0。我现在不知道如何从辅助服务器清除此设置 –

回答

0

发现问题是,在二级服务器中,它在数据路径中存储'rs1'副本集名称,所以即使我将'rs0'放在配置文件中,它也不会识别该名称,并仍然以' rs1'

我的解决方案,不是理想的,但它的工作原理。我从辅助服务器中删除了完整的数据路径,因此它不会记住'rs1',然后再次启动它。