MongoDB副本集辅助节点(不可访问/正常) 列表项
我目前正在运行一个MongoDB副本集,其中包含1个主副本、1个次副本和1个仲裁器,所有这些都托管在AWS EC2实例上。我最近关闭了辅助设备以升级硬件。重新启动时,它具有不同的IP地址(如预期的) 重新启动后,我在辅助服务器上重新启动了MongoDB副本集辅助节点(不可访问/正常) 列表项,mongodb,nosql,database-administration,Mongodb,Nosql,Database Administration,我目前正在运行一个MongoDB副本集,其中包含1个主副本、1个次副本和1个仲裁器,所有这些都托管在AWS EC2实例上。我最近关闭了辅助设备以升级硬件。重新启动时,它具有不同的IP地址(如预期的) 重新启动后,我在辅助服务器上重新启动了mongod,并更新了我们的DNS,以便mongo2.***************.com现在指向新的IP地址 我能够从主设备连接到辅助设备 mongo1.**************.com:~$ curl -ik mongo2.**************
mongod
,并更新了我们的DNS,以便mongo2.***************.com现在指向新的IP地址
我能够从主设备连接到辅助设备
mongo1.**************.com:~$ curl -ik mongo2.**************.com:27017
HTTP/1.0 200 OK
Connection: close
Content-Type: text/plain
Content-Length: 84
It looks like you are trying to access MongoDB over HTTP on the native driver port.
从中学到中学都是一样的
但是,当我连接到副本集时执行rs.status()
操作时,我发现连接到次副本集时出错
{
"set" : "myReplicaSet",
"date" : ISODate("2018-11-30T14:29:43.308Z"),
"myState" : 1,
"term" : NumberLong(-1),
"heartbeatIntervalMillis" : NumberLong(2000),
"members" : [
{
"_id" : 23,
"name" : "mongo1.**************.com:27017",
"health" : 1.0,
"state" : 1,
"stateStr" : "PRIMARY",
"uptime" : 13108,
"optime" : Timestamp(1543588183, 6),
"optimeDate" : ISODate("2018-11-30T14:29:43.000Z"),
"electionTime" : Timestamp(1543575397, 1),
"electionDate" : ISODate("2018-11-30T10:56:37.000Z"),
"configVersion" : 788876,
"self" : true
},
{
"_id" : 24,
"name" : "mongoarb.**************.com:27017",
"health" : 1.0,
"state" : 7,
"stateStr" : "ARBITER",
"uptime" : 12785,
"lastHeartbeat" : ISODate("2018-11-30T14:29:41.491Z"),
"lastHeartbeatRecv" : ISODate("2018-11-30T14:29:43.056Z"),
"pingMs" : NumberLong(0),
"configVersion" : 788876
},
{
"_id" : 25,
"name" : "mongo2.**************.com:27017",
"health" : 0.0,
"state" : 8,
"stateStr" : "(not reachable/healthy)",
"uptime" : 0,
"optime" : Timestamp(0, 0),
"optimeDate" : ISODate("1970-01-01T00:00:00.000Z"),
"lastHeartbeat" : ISODate("2018-11-30T14:29:41.754Z"),
"lastHeartbeatRecv" : ISODate("1970-01-01T00:00:00.000Z"),
"pingMs" : NumberLong(0),
"lastHeartbeatMessage" : "Our replica set configuration is invalid or does not include us",
"configVersion" : -1
}
],
"ok" : 1.0
}
以下是通过Robo 3T连接到副本集时的rs.conf()
输出
{
"_id" : "myReplicaSet",
"version" : 788876,
"members" : [
{
"_id" : 23,
"host" : "mongo1.**************.com:27017",
"arbiterOnly" : false,
"buildIndexes" : true,
"hidden" : false,
"priority" : 1.0,
"tags" : {},
"slaveDelay" : NumberLong(0),
"votes" : 1
},
{
"_id" : 24,
"host" : "mongoarb.**************.com:27017",
"arbiterOnly" : true,
"buildIndexes" : true,
"hidden" : false,
"priority" : 1.0,
"tags" : {},
"slaveDelay" : NumberLong(0),
"votes" : 1
},
{
"_id" : 25,
"host" : "mongo2.**************.com:27017",
"arbiterOnly" : false,
"buildIndexes" : true,
"hidden" : false,
"priority" : 1.0,
"tags" : {},
"slaveDelay" : NumberLong(0),
"votes" : 1
}
],
"settings" : {
"chainingAllowed" : true,
"heartbeatIntervalMillis" : 2000,
"heartbeatTimeoutSecs" : 10,
"electionTimeoutMillis" : 10000,
"getLastErrorModes" : {},
"getLastErrorDefaults" : {
"w" : 1,
"wtimeout" : 0
}
}
}
我可以通过机器人3T直接连接到二级
在主节点的日志中,我看到以下错误:
2018-11-30T15:29:17.519+0000 I REPL[ReplicationExecutor]发送到mongo2的心跳请求出错。****************.com:27017;InvalidReplicaSetConfig:我们的副本集配置无效或不包括我们
所有节点都运行Mongo版本3.2.19
如何使副本集连接到辅助服务器