2017-02-23 11 views
1

Я настраиваю кластер монго. У меня есть два набора реплик, состоящих из двух узлов, набор реплик из трех конфигурационных серверов и один экземпляр mongos.Mongos может добавить набор реплик, но не может подключиться

я смог добавить реплику набора к экземпляру mongos:

sh.addShard("rs1/shard-rs01-s01"); 

Это возвращает { «ОК»: 1}, и то же самое можно сказать и о втором наборе реплик.

Однако, когда я пытаюсь делать какие-либо операции с базами данных, таких как db.test.insert (...) Я получаю эту ошибку:

2017-02-23T01:17:28.599+0000 I ASIO [CatalogManagerReplacer] Connecting to shard-RS01-S01:27017 2017-02-23T01:17:28.600+0000 I ASIO [CatalogManagerReplacer] Connecting to config-01:27019 2017-02-23T01:17:28.603+0000 I ASIO [CatalogManagerReplacer] Successfully connected to config-01:27019 2017-02-23T01:17:48.600+0000 I ASIO [CatalogManagerReplacer] Failed to connect to shard-RS01-S01:27017 - ExceededTimeLimit: Operation timed out

Я проверил, что брандмауэр не блокирует соединение, отключив его во всех системах. Для чего это стоит, на узле, который содержит экземпляр mongos я могу подключиться к репликам набора непосредственно с помощью команды, как с помощью этой команды, независимо от состояния брандмауэра:

mongo --host rs1/shard-rs01-s01:27017 

Так что я довольно уверен, что это а не проблема с брандмауэром. У кого-нибудь есть идеи?

Вот осколок карта установки, если это полезно для тех, кто не смог помочь ...

mongos> db.runCommand("getShardMap") 
{ 
    "map" : { 
     "config" : "rs0/config-01:27019,config-02:27019,config-03:27019", 
    "config-01:27019" : "rs0/config-01:27019,config-02:27019,config-03:27019", 
    "config-02:27019" : "rs0/config-01:27019,config-02:27019,config-03:27019", 
    "config-03:27019" : "rs0/config-01:27019,config-02:27019,config-03:27019", 
    "rs0/config-01:27019,config-02:27019,config-03:27019" : "rs0/config-01:27019,config-02:27019,config-03:27019", 
    "rs1" : "rs1/shard-RS01-S01:27017,shard-RS01-S02:27017", 
    "rs1/shard-RS01-S01:27017,shard-RS01-S02:27017" : "rs1/shard-RS01-S01:27017,shard-RS01-S02:27017", 
    "rs2" : "rs2/shard-RS02-S03:27017,shard-RS02-S04:27017", 
    "rs2/shard-RS02-S03:27017,shard-RS02-S04:27017" : "rs2/shard-RS02-S03:27017,shard-RS02-S04:27017", 
    "shard-RS01-S01:27017" : "rs1/shard-RS01-S01:27017,shard-RS01-S02:27017", 
    "shard-RS01-S02:27017" : "rs1/shard-RS01-S01:27017,shard-RS01-S02:27017", 
    "shard-RS02-S03:27017" : "rs2/shard-RS02-S03:27017,shard-RS02-S04:27017", 
    "shard-RS02-S04:27017" : "rs2/shard-RS02-S03:27017,shard-RS02-S04:27017" 
}, 
"ok" : 1 

}

ответ

0

вам необходимо инициализировать mongos.

rs.initiate({ _id: "configReplSet", configsvr: true, members: [ { _id: 0, host: "mongo-config-1:27017" }] })