MongoDB 3.4で動作するmongo dbレプリカセットを設定しようとしています。Mongodbレプリカがアービターのハートビートで許可を拒否しました
サーバーA:
- SRV1:27017 - 主要
- ARB:27027 - アービタ
サーバーB:
- SRV2:27017 - 二
arbをServerAのsrv1でホストしないでください。後で移動する予定です。
サーバポートは開いており、すべてのインスタンスでmongoシェルが動作します。
rs.status()
をsrv1で実行するとすべて正常です。
SRV2上でそれを実行している、しかし、示しています。アービタセクションの
{
"_id" : 2,
"name" : "ServerA:27027",
"health" : 0,
"state" : 8,
"stateStr" : "(not reachable/healthy)",
"uptime" : 0,
"lastHeartbeat" : ISODate("2017-11-17T14::36:48.088Z"),
"lastHeartbeatMessage" : "Permission denied",
"configVersion" : -1
}
(残りは大丈夫です)。 SRV2上 ログは、これらの3行を繰り返している。それらの
2017-11-17T09:19:02.758-0500 | ASIO [NetworkInterfaceASIO-Replication-0] Failed to connect to ServerA:27027 - HostUnreachable: Permission denied
2017-11-17T09:19:02.758-0500 | ASIO [NetworkInterfaceASIO-Replication-0] Dropping all pooled connections to ServerA:27027 due to failed operation on a connection
2017-11-17T09:19:02.758-0500 | REPL [ReplicationExecutor] Error in heartbeat request to ServerA:27027; HostUnreachable: Permission denied
なし同じマシン上でホストされている任意の認証セット、およびSRV1は、アービタとハートビートの問題を持っていませんでした。 Srv2ではsrv1にハートビートの問題はありません。 私は、IPアドレスがmongod.configにバインドされていないか、ファイアウォールされていないために人々が接続できないことを知りましたが、ここでは該当しません。
srv1とarbは同じホストを共有しているため、ローカルループバックを介して通信しようとします。サーバが両方のインタフェースでリッスンすることを確認できますか? –
mongoシェルをServerBからServerA:27017とServerA:27027に接続しようとしましたが、正常に動作します。また、srv2にはレプリカセット内のsrv1に問題はなく、arbのみが表示されます。他に何か意味がありましたか? – shwick
'telnet serv1 27027'はserv 2を動作させますか? –