FailedToSatisfyReadPreference: Не удалось найти хост, соответствующий предпочтению чтения {mode: "primary"} - PullRequest
0 голосов
/ 17 апреля 2020

Я хочу использовать mongodb-shard для моего проекта. Я создал диаграмму руля https://github.com/b-rohit/mongodb-shard-chart для развертывания в кластере kubernetes.

Я использую кластер kind, работающий локально, чтобы проверить его. Серверы config и shard работают правильно. Я могу выполнять команды в своих оболочках mon go. Сервер mongos не может подключиться к реплике, установленной на сервере конфигурации. Я получаю следующее сообщение об ошибке в mongos

2020-04-17T13:33:31.579+0000 W  SHARDING [replSetDistLockPinger] pinging failed for distributed lock pinger :: caused by :: FailedToSatisfyReadPreference: Could not find host matching read preference { mode: "primary" } for set mongors1conf
2020-04-17T13:33:31.579+0000 W  SHARDING [mongosMain] Error initializing sharding state, sleeping for 2 seconds and trying again :: caused by :: FailedToSatisfyReadPreference: Error loading clusterID :: caused by :: Could not find host matching read preference { mode: "nearest" } for set mongors1conf
2020-04-17T13:33:31.579+0000 I  SHARDING [shard-registry-reload] Periodic reload of shard registry failed  :: caused by :: FailedToSatisfyReadPreference: could not get updated shard list from config server :: caused by :: Could not find host matching read preference { mode: "nearest" } for set mongors1conf; will retry after 30s

В журнале конфигурации сервера следуют

2020-04-17T13:33:11.578+0000 I  NETWORK  [listener] connection accepted from 10.244.0.6:34400 #5 (1 connection now open)
2020-04-17T13:33:11.578+0000 I  NETWORK  [conn5] received client metadata from 10.244.0.6:34400 conn5: { driver: { name: "NetworkInterfaceTL", version: "4.2.5" }, os: { type: "Linux", name: "Ubuntu", architecture: "x86_64", version: "18.04" } }
2020-04-17T13:33:11.589+0000 I  ACCESS   [conn5] Successfully authenticated as principal __system on local from client 10.244.0.6:34400
2020-04-17T13:33:38.197+0000 I  SHARDING [replSetDistLockPinger] Marking collection config.lockpings as collection version: <unsharded>
2020-04-17T13:33:38.202+0000 W  SHARDING [replSetDistLockPinger] pinging failed for distributed lock pinger :: caused by :: LockStateChangeFailed: findAndModify query predicate didn't match any lock document
2020-04-17T13:44:39.743+0000 I  CONTROL  [LogicalSessionCacheRefresh] Failed to create config.system.sessions: Cannot create config.system.sessions until there are shards, will try again at the next refresh interval
2020-04-17T13:44:39.743+0000 I  CONTROL  [LogicalSessionCacheRefresh] Sessions collection is not set up; waiting until next sessions refresh interval: Cannot create config.system.sessions until there are shards
2020-04-17T13:44:39.743+0000 I  SH_REFR  [ConfigServerCatalogCacheLoader-1] Refresh for collection config.system.sessions took 0 ms and found the collection is not sharded
2020-04-17T13:44:39.743+0000 I  CONTROL  [LogicalSessionCacheReap] Sessions collection is not set up; waiting until next sessions reap interval: Collection config.system.sessions is not sharded.
2020-04-17T13:44:42.570+0000 I  NETWORK  [conn5] end connection 10.244.0.10:37922 (0 connections now open)

Я новичок в mongodb. Потребовалось много времени, чтобы составить этот график. Я проверил и другие подобные вопросы. не удалось найти параметры чтения, соответствующие хосту, в mongodb

Я не могу отладить его дальше.

1 Ответ

0 голосов
/ 18 апреля 2020

Ваш набор реплик сервера конфигурации:

  • не запущен (не все узлы работают)
  • не установлен набор реплик (replSetInitiate не выполнен или не выполнен)
  • неправильно ссылаются узлы сегментов (неправильный хост, ip или неверное имя набора реплик)
  • запущен, но ваши шарды не имеют доступа к нему из-за правил брандмауэра

Убедитесь, что вы можете получить доступ к узлам набора реплик из оболочки mongo с компьютеров, на которых запущен осколок mongod s.

...