Мониторинг активации MongoDB устанавливает реплику в ДРУГОЕ - PullRequest
0 голосов
/ 07 октября 2019

Я использую MongoDB и SolR вместе с начала года. Несмотря на то, что этот вопрос будет касаться конкретной проблемы, с которой я столкнулся в MongoDB за последние несколько дней, я не могу найти решение для нее.

Он задан следующим образом: 2 набора реплик кластеризованы. (Я не знаю, понятно ли это, но я позволю экспертам судить, есть ли лучший способ сказать это, ха-ха)

Видите, по некоторым очевидным причинам из лучших практик я решил включить аутентификациюна моем экземпляре MongoDB. Я выполнил шаги, описанные в документации MongoDB, как создать пользователя с определенными правами и всем остальным.

rs0:PRIMARY> db.createUser({ user: "louis", pwd: "WhatIsGod", roles: ["userAdminAnyDatabase", "dbAdminAnyDatabase", "readWriteAnyDatabase"]})
Successfully added user: {
    "user" : "louis",
    "roles" : [
        "userAdminAnyDatabase",
        "dbAdminAnyDatabase",
        "readWriteAnyDatabase"
    ]
}

Пока ничего плохого не скажешь, скажи мне. Ну так я и подумал! После успешного создания пользователя я остановил службу MongoDB, чтобы изменить файл mongo.conf и заменить disabled на enabled, а затем перезапустил службу.

Как только служба перезапустилась, я увидел, чтомои наборы реплик находились в состоянии OTHER, и я практически ничего не могу сделать в оболочке Mongo без сообщения об ошибке, ни одной команды (несколько примеров ниже)

2019-10-07T16:34:16.312+0200 E QUERY    [thread1] Error: not master and slaveOk=false :
_getErrorWithCode@src/mongo/shell/utils.js:25:13
2019-10-07T16:22:15.583+0200 E QUERY    [thread1] Error: Could not retrieve replica set config: {
    "ok" : 0,
    "errmsg" : "not authorized on admin to execute command { replSetGetConfig: 1.0 }",
    "code" : 13,
    "codeName" : "Unauthorized"

Это в принципеостается неизменным до тех пор, пока я не верну изменения в файле mongo.conf.

Итак, после поиска я здесь, чтобы спросить, не случалось ли это с кем-либо раньше?

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

1 Ответ

0 голосов
/ 08 октября 2019

Я на самом деле выяснил, что происходит.

Поскольку для работы с наборами реплик для аутентификации требуется файл, чтобы обе реплики могли подтверждать пользователей и их права (насколько я понял)

Подробности можно найти здесь: Набор реплик MongoDB с простой аутентификацией по паролю

(cc @datdinhquoc для ответа 3 года назад, который я только что нашел)

...