#mongodb
#mongodb
Вопрос:
Ребята,
Я настраиваю кластер MongoDB. Проблема в том, что при запуске ‘mongos’ не удается подключиться к серверу конфигурации Mongod. Если я запускаю ‘mongos’ с локального хоста с того же сервера, что и сервер конфигурации Mongod, он подключается и работает.
localhost-$ mongos —порт 30000 —configdb server-02:20000 [Работает]
сервер-01-$ mongos —порт 30000 —configdb server-02:20000 [Не работает]
Поскольку с локального хостинга я могу запустить mongos, подключившись к серверу конфигурации mongo и выполнив запросы, похоже, что сервер конфигурации работает нормально.
Не удалось понять, что мешает серверам подключаться к одному из своих одноранговых узлов. Когда я попытался подключиться в первый раз с localhost, я получил запрос от ОС, спрашивающий, следует ли разрешить процессу ‘mongos’ принимать входящие подключения, для которых я нажал разрешить. Возможно, если сервер автоматически выходит из строя из-за этой проблемы с разрешениями, не имея возможности запросить.
Ошибка, которую я получаю:
Запуск 8 мая 01:14:46./ mongos db версии v1.8.1, pdfile версии 4.5 (—справка по использованию) 8 мая 01:14:46 Версия git: a429cd4f535b2499cc4130b06ff7c26f41c00f04 8 мая 01:14:46 информация о системе сборки: Linux bs-linux64.10gen.cc 2.6.21.7-2.ec2.v1.2.fc8xen # 1 SMP Пт 20 ноября 17:48:28 EST 2009 x86_64 BOOST_LIB_VERSION=1_41 неперехваченное исключение в mongos main: исключение сокета 11002 [6] сервер [server-02:20000] ошибка mongos connectionpool: не удалось подключиться к серверу server-02:20000
Что ж, я попробовал чистую установку, но проблема не исчезла, поэтому я перенес свой mongos на другой сервер с новой установкой, и, похоже, он подключается к серверу конфигурации без каких-либо проблем. По-видимому, возникла какая-то проблема с конфликтом сокетов с первым сервером, на котором я попытался запустить mongos.
Ответ №1:
Во всех каталогах данных вашего mongodb у вас есть mongo.файл блокировки. Если этот файл не пустой, это, по-видимому, означает, что один экземпляр исполняемого файла mongodb (config, сервер данных сегментов) уже запущен. Просто удалите этот файл в каждом каталоге, если он не пуст.
Ответ №2:
Проверьте ваше bindip
значение, которое используется вашим сервисом mongo. Снимите bindip
флаг. Это работает отлично.