<< Click to Display Table of Contents >> Администрирование (Linux) > Расширенная установка > Настройка отказоустойчивой архитектуры Directum RX Настройка кластера MongoDB |
Установите MongoDB на каждом узле кластера RRM. Затем настройте репликацию MongoDB между узлами.
1.Установите GPG-ключ MongoDB. Для этого выполните команду:
wget -qO - https://www.mongodb.org/static/pgp/server-4.2.asc | sudo apt-key add -
2.Добавьте репозиторий MongoDB:
echo "deb http://repo.mongodb.org/apt/debian stretch/mongodb-org/4.2 main" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.2.list
3.Установите MongoDB. Для этого выполните команды:
sudo apt update
sudo apt-get install -y mongodb-org
4.Выдайте разрешение на автоматический запуск MongoDB вместе с системой:
sudo systemctl enable mongod
5.Разрешите подключение к MongoDB с узлов Directum RX. Для этого в конфигурационном файле /etc/mongod.conf в секции net измените настройки на указанные ниже:
# network interfaces
net:
port: 27017 #порт для работы
# bindIp: 127.0.0.1 #через запятую перечислите IP-адреса узлов, c которых можно будет подключаться
bindIpAll: true #либо разрешите подключение с любых адресов
6.Перезапустите MongoDB:
sudo service mongod restart
7.Добавьте пользователя admin для дальнейшей настройки MongoDB. Для этого откройте командную оболочку MongoDB.
ALT Linux:
mongosh
Astra Linux:
mongo
Затем в командной оболочке подключитесь к базе данных admin и создайте пользователя admin. Для этого последовательно выполните команды:
use admin;
db.createUser({user: 'admin', pwd: '<password>', roles:[{role:'root',db:'admin'}]});
После создания пользователя выйдите из командной оболочки.
8.Запустите командную оболочку MongoDB от имени созданного пользователя:
ALT Linux:
mongosh -u admin -p password
Astra Linux:
mongo -u admin -p password
Затем в командной оболочке подключитесь к базе данных admin и создайте пользователя для работы с Directum RX. Для этого последовательно выполните команды:
use admin;
db.createUser({user: '<userMongo>', pwd: '<password>', roles: [{ role: "readWrite", db: "Sungero_PreviewStorage"}, { role: "readWrite", db: "sungero_widgets_clustering"}, { role: "readWrite", db: "sungero_widgets"}, { role: "readWrite", db: "Sungero_dist_cache"}, { role: "readWrite", db: "Sungero_StorageService"}, { role: "readWrite", db: "sungero_ip_blocking"}, { role: "readWrite", db: "Sungero_HealthCheck"}, { role: "readWrite", db: "memoRelations_<код системы>"}] });
В команде для логина и пароля пользователя укажите свои значения, например userMongo и password. Код системы передается в письме при поставке. После установки системы его значение можно посмотреть в конфигураторе Directum Launcher в секции Общие настройки (common_config) в параметре PRIMARY_TENANT.
1.Сгенерируйте ключ для взаимной авторизации узлов кластера. Для этого выполните команду:
sudo openssl rand -base64 756 > /srv/rx/mongo.key
2.Сгенерированный ключ скопируйте на все узлы кластера.
3.В конфигурационном файле /etc/mongod.conf укажите настройки для включения репликации (Replica Set) и аутентификации по ключам между узлами:
security:
keyFile: /srv/rx/mongo.key
authorization: enabled
....
replication:
replSetName: "drxRepl"
4.Измените права доступа на файл ключа. Для этого выполните команду:
sudo chmod 400 /srv/rx/mongo.key
5.Измените владельца файла ключа:
sudo chown mongodb:mongodb /srv/rx/mongo.key
6.На остальных узлах кластера RRM повторите пункты с настройкой репликации и изменением прав доступа на файл и владельца ключа.
7.Добавьте реплицируемые узлы в кластер. Для этого на одном из узлов запустите командную оболочку MongoDB.
ALT Linux:
mongosh -u admin -p password
Astra Linux:
mongo -u admin -p password
Затем в командной оболочке выполните команду:
rs.initiate({ _id: "<Имя кластера MongoDB>", members: [ { _id: 0, host: "<IP узла1 кластера RM>:27017" }, { _id: 1, host: "<IP узла2 кластера RM>:27017" }, { _id: 2, host: "<IP узла3 кластера RM>:27017" }] });
Пример команды:
rs.initiate({ _id: "drxRepl", members: [ { _id: 0, host: "192.168.0.21:27017" }, { _id: 1, host: "192.168.0.22:27017" }, { _id: 2, host: "192.168.0.23:27017" }] });
© Компания Directum, 2024 |