Что, это Разъединяет среднюю ошибку?

>     org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'videoMobileController': Invocation of init
> method failed; nested exception is
> org.springframework.data.mongodb.UncategorizedMongoDbException: could
> not initialize sharding on connection 54.xx.xx.198:27017 :: caused by
> :: mongos specified a different config database string : stored :
> 54.xx.xx.55:27019 vs given : 54.xx.xx.249:27019; nested exception is com.mongodb.MongoException: could not initialize sharding on
> connection 54.xx.xx.198:27017 :: caused by :: mongos specified a
> different config database string : stored : 54.xx.xx.55:27019 vs given
> : 54.xx.xx.249:27019
>             at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor.postProcessBeforeInitialization(InitDestroyAnnotationBeanPostProcessor.java:133)
0
задан 12 October 2014 в 07:04

1 ответ

Я не могу быть уверен, не смотря на журналы и т.д., но включенные IP-адреса и ошибка предлагают что-то как следующее:

  • у Вас был mongodb кластер черепка, настраивает в EC2
  • , кластер был настроен с помощью IP-адресов (а не имена узлов)
  • база данных конфигурации (Вы только работаете один, таким образом, я надеюсь, что это - тест только, и не напоминание) был на хосте, который был перезагружен, его IP-адрес, измененный, когда перезагружено
  • Из-за того изменения, Вы перезапустили Ваш mongos процесс (процессы) и указали на них на новый IP-адрес путем изменения строки конфигурации при запуске
  • , Вы не перезапускали остальную часть процессов MongoDB
  • Следовательно, другие части кластера все еще ожидают, что сервер конфигурации будет на старом IP-адресе, и бросают ошибку из-за несоответствия

Предположение, что я близок в описании выше, корень Вашей проблемы является двумя основными вещами:

  1. , Если Вы перемещаете серверы конфигурации и изменяете имя узла (в Вашем IP-адресе случая) необходимо следовать эта процедура . В особенности отметьте шаг 5: "Закройтесь, все существующие процессы MongoDB"
  2. не используют IP-адреса при конфигурировании набора или кластера, используют имена узлов вместо этого, даже если они находятся только в /etc/hosts, а не DNS, они обеспечивают уровень абстракции, которая очень полезна, если Вы имеете дело со средой, где IP-адрес является переходным, и Вы не можете управлять тем, что получают IP и экземпляр, когда это перезагружается.

Для фиксации этого необходимо будет перезапустить mongod и mongos процессы, в основном выполняя процедуру, связанную в 1 выше. Как только все части кластера соглашаются о IP-адресе (или имя узла) сервера конфигурации, эта проблема должна разрешить себя.

0
ответ дан 6 October 2019 в 23:46

Другие вопросы по тегам:

Похожие вопросы: