вторник, 23 июля 2019 г.

CentOS 7: ставим MongoDB произвольной версии

Для начала, надо определить какая версия нам нужна, список можно взять тут
http://repo.mongodb.org/yum/redhat/7/mongodb-org/
На данный момент там доступны версии от 3.0 до 4.1
Теперь пишем repo файл

cat > /etc/yum.repos.d/mongodb-org.repo << EOF
[mongodb-org-3.4]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/\$releasever/mongodb-org/3.4/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-3.4.asc
EOF

Где заменяем 3.4 на нужную версию, можно прямо через sed: sed -i'' -e 's#3\.4#4.1#g'  /etc/yum.repos.d/mongodb-org.repo - тут на 4.1 для примера.

Ну и сама установка
yum -y install mongodb-org
!! Перед этим удалить штатную версию из epel, иначе будет конфликт.

Ну и желательный фикс ограничений
cat > /etc/security/limits.d/99-mongod.conf << EOF
mongod soft nproc 64000
mongod hard nproc 64000
mongod soft nofile 64000
mongod hard nofile 64000
EOF

Что читать далее
Просто, но достаточно неплохо

Более сложная дока, там в том числе по заведению отдельного пользователя в монге и подключению авторизации

И маленький бонус.
Чтобы посмотреть статус, запускаем консоль
# mongo
и там набираем rs.status() - тут есть основная статистика. В случае репликации - 1 нода должна быть в статусе primary, остальные - secondary.
Вообще, для коннекта к кластеру команда подключения примерно такая
mongo --host 1.2.3.4:27017,1.2.3.5:27017,1.2.3.6:27017 --authenticationDatabase admin --username root --password
Обращаю внимание что в строке host пробелы недопустимы, свежие версии скажут сразу об ошибке, 3.4 запросит пароль но потом отвалится с ошибкой.
И ещё полезная команда для кластера
rs.printSlaveReplicationInfo()

В случае, когда надо выключить мастер, коннектимся на мастер (смотрим rs.status()) и выполняем rs.stepDown() - это запустит перевыборы. Для нагруженного сервиса крайне желательно.

Комментариев нет:

Отправить комментарий