Как установить MongoDB 4 на CentOS 8 / RHEL 8

Как установить MongoDB 4 на RHEL 8 / CentOS 8

В этом руководстве мы рассмотрим шаги по установке MongoDB 4 на RHEL 8 / CentOS 8. MongoDB — это система баз данных NoSQL с открытым исходным кодом, написанная на C ++, предназначенная для обеспечения масштабируемости, высокой производительности и доступности.

MongoDB общий вариант использования место хранения и управление коллекциями литеральных документов размером с большие данные, такими как текстовые документы, сообщения электронной почты, документы XML и многие другие.

Установка MongoDB 4 на RHEL 8 / CentOS 8

MongoDB 4 доступен в репозитории MongoDB yum. Добавьте репозиторий на свой сервер RHEL 8, выполнив следующие команды:

sudo tee /etc/yum.repos.d/mongodb-org-4.repo<<EOF
[mongodb-org-4]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/8/mongodb-org/4.2/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-4.2.asc
EOF

Вы должны запустить команды выше как пользователь root. После добавления репо установите mongodb-org пакет.

MongoDB Repository                                                                                                 2.3 kB/s | 3.4 kB     00:01    
Dependencies resolved.
===================================================================================================================================================
 Package                           Arch                  Version                                                Repository                    Size
===================================================================================================================================================
Installing:
 mongodb-org                       x86_64                4.2.1-1.el8                                            mongodb-org-4                 10 k
Installing dependencies:
 python2                           x86_64                2.7.15-24.module_el8.0.0+193+7850e68f                  AppStream                    107 k
 python2-libs                      x86_64                2.7.15-24.module_el8.0.0+193+7850e68f                  AppStream                    6.0 M
 python2-pip                       noarch                9.0.3-13.module_el8.0.0+32+017b2cba                    AppStream                    2.0 M
 python2-setuptools                noarch                39.0.1-11.module_el8.0.0+32+017b2cba                   AppStream                    643 k
 mongodb-org-mongos                x86_64                4.2.1-1.el8                                            mongodb-org-4                 14 M
 mongodb-org-server                x86_64                4.2.1-1.el8                                            mongodb-org-4                 25 M
 mongodb-org-shell                 x86_64                4.2.1-1.el8                                            mongodb-org-4                 17 M
 mongodb-org-tools                 x86_64                4.2.1-1.el8                                            mongodb-org-4                 47 M
Enabling module streams:
 python27                                                2.7                                                                                      

Transaction Summary
===================================================================================================================================================
Install  9 Packages

Total download size: 111 M
Installed size: 295 M
Is this ok [y/N]: y

При установке вышеуказанного пакета будут установлены следующие пакеты зависимостей:

mongodb-org-server  — это предоставляет демон MongoDB  mongod
mongodb-org-mongos  — это демон MongoDB Shard
mongodb-org-shell  — это обеспечивает оболочку для MongoDB
mongodb-org-tools  — инструменты MongoDB, используемые для экспорта, дампа, импорта так далее

Вы можете проверить установку вышеуказанных пакетов, например,

$ rpm -qi mongodb-org-server 
Name        : mongodb-org-server
Version     : 4.2.1
Release     : 1.el8
Architecture: x86_64
Install Date: Sat 26 Oct 2019 12:26:16 AM EAT
Group       : Applications/Databases
Size        : 71824540
License     : AGPL 3.0
Signature   : RSA/SHA1, Fri 18 Oct 2019 10:19:57 AM EAT, Key ID 4b7c549a058f8b6b
Source RPM  : mongodb-org-4.2.1-1.el8.src.rpm
Build Date  : Wed 16 Oct 2019 05:23:12 AM EAT
Build Host  : ip-10-122-67-134.ec2.internal
Relocations : /usr 
URL         : http://www.mongodb.org
Summary     : MongoDB database server

Настройка MongoDB на RHEL 8 / CentOS 8

Когда пакеты установлены, вы можете начать настройку и настройку MongoDB перед запуском сервиса.

Метка MongoDB порт

Если вы используете SELinux в принудительном режиме, вам может понадобиться пометить порт 27017

sudo semanage port -a -t mongod_port_t -p tcp 27017

Разрешить порт на брандмауэре

Если на вашем сервере запущен firewalld и вы хотите, чтобы служба MongoDB была доступна по сети, откройте ее на брандмауэре:

sudo firewall-cmd --add-port=27017/tcp --permanent
sudo firewall-cmd --reload

Вы также можете ограничить доступ на основе адреса источника

sudo firewall-cmd --permanent --add-rich-rule "rule family="ipv4" \
source address="10.10.20.0/24" port protocol="tcp" port="27017" accept"

Использовать дополнительный диск для данных MongoDB — опционально

Вы всегда можете использовать выделенный диск / виртуальный диск для хранения данных MongoDB. Это может быть настроено как ниже

1 : Разделить вторичный диск для данных MongoDB:

# lsblk  | grep vdb
vdb    252:16   0  50G  0 disk

2 : Создайте таблицу разделов GPT для дополнительного диска, он может быть больше, чем на одном диске

sudo parted -s -a optimal -- /dev/vdb mklabel gpt
sudo parted -s -a optimal -- /dev/vdb mkpart primary 0% 100%
sudo parted -s -- /dev/vdb align-check optimal 1

3 : Создайте том LVM, это облегчит расширение раздела

sudo pvcreate  /dev/vdb1
sudo vgcreate vg11 /dev/vdb1
sudo lvcreate -n data -l 100%FREE vg11

4. Создайте  XFS файловую систему на созданном логическом томе

sudo mkfs.xfs /dev/mapper/vg11-data

 5 : Создайте точку монтирования и смонтируйте раздел

echo "/dev/mapper/vg11-data /data xfs defaults 0 0" | sudo tee -a /etc/fstab
sudo mkdir /data
sudo mount -a

 6:  Создайте папку для данных MongoDB

sudo mkdir /data/mongo
sudo chown -R mongod:mongod /data/mongo
sudo chmod -R 775 /data/mongo

 7.  Убедитесь, что монтирование раздела прошло успешно:

df -hT | grep  /data/mongo

 8:  Измените расположение хранилища данных MongoDB на /etc/mongod.conf

storage:
dbPath: /data/mongo 
journal:
  enabled: true

Запустить сервис MongoDB

Когда все установлено, запустите и установите службу mongod для запуска при загрузке.

sudo systemctl enable --now mongod

Если служба была запущена успешно, она должна показывать runningстатус.

$ systemctl status mongod.service 
 ● mongod.service - MongoDB Database Server
    Loaded: loaded (/usr/lib/systemd/system/mongod.service; enabled; vendor preset: disabled)
    Active: active (running) since Sat 2019-01-05 12:12:28 EAT; 4s ago
      Docs: https://docs.mongodb.org/manual
   Process: 2163 ExecStart=/usr/bin/mongod $OPTIONS (code=exited, status=0/SUCCESS)
   Process: 2161 ExecStartPre=/usr/bin/chmod 0755 /var/run/mongodb (code=exited, status=0/SUCCESS)
   Process: 2160 ExecStartPre=/usr/bin/chown mongod:mongod /var/run/mongodb (code=exited, status=0/SUCCESS)
   Process: 2158 ExecStartPre=/usr/bin/mkdir -p /var/run/mongodb (code=exited, status=0/SUCCESS)
  Main PID: 2166 (mongod)
    Memory: 70.1M
    CGroup: /system.slice/mongod.service
            └─2166 /usr/bin/mongod -f /etc/mongod.conf
 Jan 05 12:12:27 localhost.localdomain systemd[1]: Starting MongoDB Database Server…
 Jan 05 12:12:27 localhost.localdomain mongod[2163]: about to fork child process, waiting until server is ready for connections.
 Jan 05 12:12:27 localhost.localdomain mongod[2163]: forked process: 2166
 Jan 05 12:12:28 localhost.localdomain mongod[2163]: child process started successfully, parent exiting
 Jan 05 12:12:28 localhost.localdomain systemd[1]: Started MongoDB Database Server.

Для Аутентификации, посмотрите наше руководство,  Как настроить аутентификацию MongoDB 4.

Author: forgero

1 thought on “Как установить MongoDB 4 на CentOS 8 / RHEL 8

Comments are closed.