Поиск по сайту:

Как установить MongoDB на AlmaLinux 9


Это руководство существует для этих версий ОС.

  • АлмаЛинукс 9
  • АльмаЛинукс 8

На этой странице

  1. Предварительные условия
  2. Подготовка системы (отключение thp, настройка ulimit и sysctl.conf)

    1. Отключить прозрачные огромные страницы (THP)
    2. Настройка ограничений
    3. Настройка sysctl.conf
  3. Установка МонгоБД
  4. Включить аутентификацию MongoDB
  5. Создание пользователя в MongoDB
  6. Заключение

MongoDB — это кроссплатформенная и распределенная система баз данных NoSQL с открытым исходным кодом (не SQL или нереляционная). Вместо хранения данных в таблицах, как в традиционных базах данных SQL, MongoDB использует гибкие документы для хранения различных форм данных. MongoDB использует двоичный формат JSON, BSON, для хранения данных.

MongoDB — это распределенная база данных NoSQL со встроенными функциями высокой доступности, автоматическим переходом на другой ресурс и избыточностью данных, а также горизонтальным масштабированием посредством сегментирования между распределенными кластерами. Он поддерживает географическое развертывание в нескольких регионах и предоставляет API запросов, который поддерживает операции CRUD (чтение и запись), конвейер агрегации данных, текстовый поиск и геопространственные запросы.

Это руководство покажет вам, как установить MongoDB на сервер Alma Linux 9. Вы также включите аутентификацию MongoDB, настроите администратора для MongoDB и создадите новую базу данных и пользователя для своих приложений.

Предварительные условия

Прежде чем начать работу с этим руководством, убедитесь, что у вас есть следующее:

  • Сервер Alma Linux 9
  • Пользователь без полномочий root с правами администратора

Подготовка системы (отключение thp, настройка ulimit и sysctl.conf)

В этом разделе вы подготовите и настроите свой сервер ALma Linux для установки MongoDB. Ниже приведены три основных действия, которые вам необходимо сделать:

  • Отключите прозрачные огромные страницы (THP) через службу systemd
  • Увеличение максимального количества процессов и открытых файлов для пользователя «mongod».
  • Настройка vm-max fs через файл /etc/sysctl.conf

Итак, сначала запустите следующую команду «dnf», чтобы установить текстовый редактор «nano» в вашу систему Alma Linux.

sudo dnf install nano -y

Отключить прозрачные огромные страницы (THP)

Теперь создайте новый служебный файл «/etc/systemd/system/disable-thp.service» для отключения прозрачных огромных страниц (THP). Эта служба также будет запускаться при каждой загрузке системы.

sudo nano /etc/systemd/system/disable-thp.service

Вставьте следующую конфигурацию в файл.

[Unit]
Description=Disable Transparent Huge Pages (THP)
[Service]
Type=simple
ExecStart=/bin/sh -c "echo 'never' > /sys/kernel/mm/transparent_hugepage/enabled && echo 'never' > /sys/kernel/mm/transparent_hugepage/defrag"
[Install]
WantedBy=multi-user.target

Когда закончите, сохраните и выйдите из файла.

Затем выполните приведенную ниже команду «systemctl», чтобы перезагрузить менеджер systemd и применить изменения.

sudo systemctl daemon-reload

Наконец, запустите и включите «disable-thp.service», используя команду ниже. При этом THP будет автоматически отключен при запуске.

sudo systemctl enable --now disable-thp.service

Настройка ограничений

Создайте новую конфигурацию «/etc/security/limits.d/mongodb.conf» с помощью следующего редактора «nano».

sudo nano /etc/security/limits.d/mongodb.conf

Вставьте приведенную ниже конфигурацию в файл. Это позволяет пользователю «mongod» запускать максимальное количество процессов и открывать максимальное количество дескрипторов файлов для «64000».

mongod soft nproc 64000
mongod hard nproc 64000
mongod soft nofile 64000
mongod hard nofile 64000

Сохраните файл и выйдите из редактора.

Настройка sysctl.conf

Откройте файл «/etc/sysctl.conf» с помощью редактора «nano».

sudo nano /etc/sysctl.conf

Добавьте следующие строки, чтобы настроить fs.file-max, максимальное количество карт и включить возможность подкачки.

fs.file-max = 2097152
vm.max_map_count = 262144
vm.swappiness = 1

Сохраните файл и выйдите из редактора.

Теперь выполните приведенную ниже команду «sysctl», чтобы применить изменения.

sudo sysctl -p

При желании вы также можете перезагрузить сервер, чтобы применить изменения.

sudo reboot

Установка МонгоБД

Теперь, после настройки сервера Alma Linux, запустите установку сервера MongoDB со следующей командой: в этом случае вы будете устанавливать MongoDB 7.0 на сервер Alma Linux 9.

Сначала создайте новый файл репозитория MongoDB «/etc/yum.repos.d/mongodb-org-7.0.repo» с помощью следующего редактора «nano».

sudo nano /etc/yum.repos.d/mongodb-org-7.0.repo

Вставьте приведенную ниже конфигурацию в файл.

[mongodb-org-7.0]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/9/mongodb-org/7.0/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://pgp.mongodb.com/server-7.0.asc

Сохраните файл и выйдите из редактора.

Теперь запустите команду «dnf», чтобы просмотреть список доступных репозиториев на вашем сервере Alma Linux. Вы увидите, что репозиторий MongoDB добавлен.

sudo dnf repolist

Затем выполните приведенную ниже команду «dnf install», чтобы установить MongoDB и оболочку MongoDB в вашу систему. Введите «Y», чтобы подтвердить установку.

sudo dnf install mongodb-org mongodb-mongosh

После завершения установки запустите и включите службу MongoDB «mongod», а также проверьте состояние службы «mongod», чтобы убедиться, что она работает.

sudo systemctl enable --now mongod
sudo systemctl status mongod

Ниже вы можете видеть, что MongoDB работает на сервере Alma Linux.

Включить аутентификацию MongoDB

На данный момент сервер MongoDB работает на вашем сервере Alma Linux. Теперь вы защитите свою установку MongoDB, включив аутентификацию по паролю и настроив нового пользователя-администратора MongoDB. Кроме того, вы изучите базовую оболочку «mongosh» или MongoDB для управления сервером MongoDB.

Сначала войдите на сервер MongoDB, используя приведенную ниже команду «mongosh».

mongosh

После входа в MongoDB выполните приведенный ниже запрос, чтобы отключить телеметрию MongoDB.

disableTelemetry()

Теперь переключитесь на базу данных «admin» и выполните приведенный ниже запрос, чтобы настроить пользователя-администратора для MongoDB. В этом примере вы создадите нового пользователя «myAliceAdmin» в качестве администратора MongoDB. Также введите свой пароль при появлении запроса.

use admin
db.createUser(
{
user: "myAliceAdmin",
pwd: passwordPrompt(),
roles: [
{ role: "userAdminAnyDatabase", db: "admin" },
{ role: "readWriteAnyDatabase", db: "admin" }
]
}
)

Если новый пользователь создан, вы увидите вывод «{ ok: 1 ».

Введите «quit()», чтобы выйти с сервера MongoDB.

Затем откройте файл «/etc/mongod.conf» с помощью редактора «nano».

sudo nano /etc/mongod.conf

Раскомментируйте параметр «security» и добавьте «authorization: Enabled», чтобы включить аутентификацию по паролю в MongoDB.

security:
 authorization: enabled

Сохраните файл и выйдите из редактора.

Теперь запустите приведенную ниже команду «systemctl», чтобы перезапустить службу «mongod» и применить изменения. При этом сервер MongoDB должен работать с включенной аутентификацией.

sudo systemctl restart mongod

Затем выполните приведенную ниже команду «mongosh», чтобы войти в MongoDB.

mongosh

Переключитесь на базу данных «admin» и выполните аутентификацию в качестве пользователя «myAliceAdmin» с помощью следующих запросов. Введите свой пароль, когда его спросят.

use admin
db.auth("myAliceAdmin", passwordPrompt())

Если аутентификация прошла успешно, вы получите вывод «{ ok: 1 ».

Кроме того, вы также можете войти в базу данных «admin», используя пользователя «myAliceAdmin» с помощью приведенной ниже команды «mongosh».

mongosh --port 27017 --authenticationDatabase \
"admin" -u "myAliceAdmin" -p

Создание пользователя в MongoDB

В этом разделе вы создадите новую базу данных и пользователя в MongoDB через клиент MongoDB «mongosh».

Чтобы создать новую базу данных и пользователя в MongoDB, выполните следующие запросы. В этом примере вы создадите новую базу данных «mydb» и нового пользователя «myUser». Введите свой пароль при появлении запроса.

use mydb
db.createUser(
{
user: "myUser",
pwd: passwordPrompt(), // or cleartext password
roles: [ { role: "readWrite", db: "mydb" },
{ role: "read", db: "reporting" } ]
}
)

Если новая база данных и пользователь созданы, вы получите вывод «{ ok: 1 », а затем введите «quit()» для выхода.

Затем войдите на сервер MongoDB, используя приведенную ниже команду «mongosh». При появлении запроса введите пароль для «myUser».

mongosh --port 27017 --authenticationDatabase \
"mydb" -u "myUser" -p

В случае успеха вы получите приглашение оболочки MongoDB.

Заключение

Поздравляем! Вы завершили установку MongoDB на сервер Alma Linux 9. Вы также защитили MongoDB, создав пользователя-администратора и включив аутентификацию по паролю. Наконец, вы также узнали, как создать базу данных и пользователя в MongoDB, а также некоторые базовые команды «mongosh» для подключения к серверу MongoDB через командную строку.

Статьи по данной тематике: