У меня 3 узла, реплика MongoDB установлена как показано ниже
Первичный узел Узел вторичного узла Арбитр
Набор репликации включен для всех трех.Я пытаюсь настроить аутентификацию для этих узлов, и я выполнил следующие шаги для ее настройки.
Шаг 1: Создал пользователя root, добавил его в роль: root с паролем в основном узле
Шаг 2: Создайте файл ключа с помощью команды - openssl rand -base64 741> mongodb.key в основном узле и скопируйте файл ключа во все 3 узла
Шаг 3: Добавлено ниженастройка для всех трех узлов.
Безопасность: авторизация: включен keyFile: / pathtokeyfile
Шаг 4: перезапуск службы sudo mongod на всех трех узлах
После выполнения вышеуказанных шаговЯ попытался получить доступ к БД с именем пользователя и паролем в основном узле, и я мог прочитать БД и файлы
Когда я пробую то же самое на вторичном и арбитражном узлах, я получаю ошибку ниже
rsss0:SECONDARY> show dbs
2019-03-06T09:10:40.884+0000 E QUERY [thread1] Error: listDatabases failed:{
"operationTime" : Timestamp(1551863438, 9),
"ok" : 0,
"errmsg" : "not master and slaveOk=false",
"code" : 13435,
"codeName" : "NotMasterNoSlaveOk",
"$clusterTime" : {
"clusterTime" : Timestamp(1551863438, 9),
"signature" : {
"hash" : BinData(0,"AAAAAAAAAAAAAAAAAAAAAAAAAAA="),
"keyId" : NumberLong(0)
}
}
} :
_getErrorWithCode@src/mongo/shell/utils.js:25:13
Mongo.prototype.getDBs@src/mongo/shell/mongo.js:67:1
shellHelper.show@src/mongo/shell/utils.js:860:19
shellHelper@src/mongo/shell/utils.js:750:15
@(shellhelp2):1:1
Пожалуйста, дайте мне знать, где я иду не так.
Другой мой вопрос: когда мы устанавливаем репликацию, я могу читать данные со всех трех узлов или я могу читать данные из примыодин только ry узел?
Например: show dbs работает только на первичном узле, а не на двух других узлах, он выдает ошибку выше.