Настройка кластера Mongodb

Я установил Mongodb, следуя инструкциям. После настройки я вижу все мои службы открытыми, но я все еще получаю сообщение: у этой базы данных нет включенного шардинга ... когда я запускаю команду sh.status () из оболочка монго. Кроме того, когда я подключаюсь к mongos из оболочки, я не получаю приглашение «mongos>», я просто получаю приглашение «>». Я не знаю, как решить проблему.

У меня 5 узлов. Я использую узел 1 в качестве моего монго, а узел 2 в качестве моего сервера конфигурации (работает 3 экземпляра). Конфигурация для узлов 3, 4 и 5 выглядит следующим образом: Узел 3: shard1 / 0, shard2 / 1, shard3 / 2. Узел 4: шард2 / 0, шард3 / 1, шард1 / 2 и узел 5 шард3 / 0, шард1 / 1, шард2 / 1.

В чем может быть проблема

0
задан 20.05.2015, 04:49

3 ответа

Я нашел одну ошибку в в hooks.py сценарии mongodb очарования. На строке 1053, мы видим вызов к функции enable_configuresvr:

enable_configsvr(config_data['config_server_port'])

Однако список параметра функции enable_configuresvr не соответствует:

def enable_configsvr(config_data, wait_for=default_wait_for,
                 max_tries=default_max_tries):

config_data ['config_server_port'] не должен быть переданным параметром; config_data должен быть.

та же проблема находится на строке 1069 с enable_mongos, передающим config_data ['mongos_port'] вместо config_data.

я попытаюсь запустить некоторые тесты, чтобы подтвердить, что это единственные ошибки.

За пределами заполнения отчета об ошибках, кто-либо еще испытал эту проблему? Кажется, что это должно быть более широко распространено что просто Conrad и я: P

0
ответ дан 04.10.2019, 15:19

Conrad, я не имею, все же запустил тест с исправлениями, которые я прокомментировал выше, но он мог бы также решить файл журнала, выпускают Вас упомянутый последний раз.

Амулет все еще очень ценен. Я надеюсь, что моя выгода ошибки решает проблему, которую мы испытываем, и позволяет нам развертывать наш кластер монго черепка правильно. С Амулетом мы будем в состоянии масштабироваться горизонтально очень легко.

я также использую Амулет для развертывания, наше пользовательское php очарование (установите php, рычаги в Apache для установки vhost, и помещает наши php файлы в правильный каталог), что я хочу сожительствовать с каждым mongos экземпляром. Когда изменения будут внесены в наше производство php файлы, мы будем в состоянии обновить очарование и все узлы, выполняющие очарование, с juj командой очарования обновления.

я не столкнулся ни с чем, что это - Открытый исходный код, и достаточно зрелый, который является так же руки прочь как Амулет все же. Я протестировал диспетчера и марионетку уже прежде, чем обосноваться в на Маасе и Амулете.

0
ответ дан 04.10.2019, 15:19

У меня было больше времени, чтобы исследовать и запустить некоторые тесты. Я не вижу, как этот код был в дикой природе в течение многих лет. Мы пропускаем что-то? Мало того, что существуют неправильные значения параметров, о которых я уже отправил, но и кажется, что существует логическая ошибка также.

я верю причине, congifsvr и mongos единицы не предполагают, что их идентификационные данные - то, потому что enable_configsvr и enable_mongos на самом деле никогда не называют! Они и в, если блок, который требует там уже быть выполнением configsvr и mongos (соответственно). Ни один не, но нет никакого другого места в коде, который на самом деле инстанцирует configsvr и mongos.

, Как делает банку, enable_configsvr выполняются, когда, если оператор никогда не удовлетворяется? (строка 1050 из hooks.py)

if configsvr_pid is not None:
    configsvr_port = re.search('--port (\w+)', configsvr_cmd_line).group(2)
    disable_configsvr(configsvr_port)
    enable_configsvr(config_data['config_server_port'])
else:
    open_port(config_data['config_server_port'])

Та же логика относится к enable_mongos на строке 1066:

    if mongos_pid is not None:
    mongos_port = re.search('--port (\w+)', mongos_cmd_line).group(1)
    disable_mongos(mongos_port)
    enable_mongos(config_data['mongos_port'])
else:
    open_port(config_data['mongos_port'])

я действительно отправлял отчет об ошибках здесь: https://bugs.launchpad.net/charms / + source/mongodb / + ошибка/1460876

кто-либо успешно развернул кластер монго черепка использование очарования?

0
ответ дан 04.10.2019, 15:19

Теги

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