Cài đặt MongoDB 4.4 trên CentOS 8 - Install MongoDB 4.4 CentOS 8
Trong hướng dẫn này, chúng ta sẽ tìm hiểu cách install MongoDB 4.4 trên CentOS 8. MongoDB là một hệ thống cơ sở dữ liệu NoSQL mã nguồn mở được viết bằng C++ và thiết kế để đảm bảo tính mở rộng, hiệu suất cao và khả năng sẵn sàng. Một trong những ứng dụng phổ biến của MongoDB là dùng để lưu trữ và quản lý các tập hợp dữ liệu lớn, chẳng hạn như tài liệu văn bản, email, XML và nhiều loại dữ liệu khác.
Install MongoDB 4.4 trên CentOS 8
MongoDB 4 đã có sẵn trên kho lưu trữ yum của MongoDB. Thêm kho lưu trữ vào máy chủ của bạn bằng cách chạy các lệnh dưới đây:
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.4/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-4.4.asc
EOF
Bạn cần chạy các lệnh trên với tài khoản người dùng có đặc quyền sudo.
Sau khi kho lưu trữ đã được thêm, bạn có thể cài đặt gói mongodb-org bằng lệnh sau:
sudo yum install mongodb-org
Nhấn phím y để bắt đầu quá trình cài đặt MongoDB 4.x trên CentOS 8.
MongoDB Repository 22 kB/s | 9.7 kB 00:00
Dependencies resolved.
=====================================================================================================================================================================================================
Package Architecture Version Repository Size
=====================================================================================================================================================================================================
Installing:
mongodb-org x86_64 4.4.1-1.el8 mongodb-org-4 10 k
Installing dependencies:
cyrus-sasl x86_64 2.1.27-1.el8 rhel-8-baseos-rhui-rpms 96 k
cyrus-sasl-gssapi x86_64 2.1.27-1.el8 rhel-8-baseos-rhui-rpms 49 k
cyrus-sasl-plain x86_64 2.1.27-1.el8 rhel-8-baseos-rhui-rpms 47 k
mongodb-database-tools x86_64 100.2.0-1 mongodb-org-4 55 M
mongodb-org-database-tools-extra x86_64 4.4.1-1.el8 mongodb-org-4 20 k
mongodb-org-mongos x86_64 4.4.1-1.el8 mongodb-org-4 22 M
mongodb-org-server x86_64 4.4.1-1.el8 mongodb-org-4 28 M
mongodb-org-shell x86_64 4.4.1-1.el8 mongodb-org-4 18 M
mongodb-org-tools x86_64 4.4.1-1.el8 mongodb-org-4 10 k
python2 x86_64 2.7.17-2.module+el8.3.0+7681+f1f02ded rhel-8-appstream-rhui-rpms 109 k
python2-libs x86_64 2.7.17-2.module+el8.3.0+7681+f1f02ded rhel-8-appstream-rhui-rpms 6.0 M
python2-pip-wheel noarch 9.0.3-18.module+el8.3.0+7707+eb4bba01 rhel-8-appstream-rhui-rpms 1.0 M
python2-setuptools-wheel noarch 39.0.1-12.module+el8.3.0+7075+8484f0d0 rhel-8-appstream-rhui-rpms 287 k
Installing weak dependencies:
python2-pip noarch 9.0.3-18.module+el8.3.0+7707+eb4bba01 rhel-8-appstream-rhui-rpms 1.7 M
python2-setuptools noarch 39.0.1-12.module+el8.3.0+7075+8484f0d0 rhel-8-appstream-rhui-rpms 642 k
Enabling module streams:
python27 2.7
Transaction Summary
=====================================================================================================================================================================================================
Install 16 Packages
Total download size: 133 M
Installed size: 420 M
Is this ok [y/N]: y
Chấp nhận việc nhập khóa GPG:
warning: /var/cache/dnf/mongodb-org-4-cef71e585db45e10/packages/mongodb-database-tools-100.2.0.x86_64.rpm: Header V3 RSA/SHA1 Signature, key ID 90cfb1f5: NOKEY
MongoDB Repository 4.9 kB/s | 1.6 kB 00:00
Importing GPG key 0x90CFB1F5:
Userid : "MongoDB 4.4 Release Signing Key <packaging@mongodb.com>"
Fingerprint: 2069 1EEC 3521 6C63 CAF6 6CE1 6564 08E3 90CF B1F5
From : https://www.mongodb.org/static/pgp/server-4.4.asc
Is this ok [y/N]: y
Việc cài đặt gói trên sẽ cài đặt các gói phụ thuộc sau:
- mongodb-org-server: Cung cấp dịch vụ MongoDB daemon mongod.
- mongodb-org-mongos: Đây là một dịch vụ Shard daemon của MongoDB.
- mongodb-org-shell: Cung cấp một giao diện dòng lệnh (shell) đến MongoDB.
- mongodb-org-tools: Các công cụ MongoDB được sử dụng cho việc xuất, sao lưu, nhập dữ liệu và nhiều chức năng khác.
Bạn có thể xác minh việc cài đặt các gói ở trên bằng cách, ví dụ:
$ rpm -qi mongodb-org-server
Name : mongodb-org-server
Version : 4.4.8
Release : 1.el8
Architecture: x86_64
Install Date: Fri 20 Aug 2021 06:23:37 PM UTC
Group : Applications/Databases
Size : 83082993
License : SSPL
Signature : RSA/SHA1, Wed 04 Aug 2021 09:09:09 PM UTC, Key ID 656408e390cfb1f5
Source RPM : mongodb-org-4.4.8-1.el8.src.rpm
Build Date : Sun 01 Aug 2021 07:16:40 PM UTC
Build Host : ip-10-122-58-203.ec2.internal
Relocations : /usr /var /etc
URL : http://www.mongodb.org
Summary : MongoDB database server
Định cấu hình MongoDB trên CentOS 8
Khi các gói đã được cài đặt, bạn có thể bắt đầu tùy chỉnh và cấu hình MongoDB trước khi khởi động dịch vụ.
Đặt nhãn cho cổng MongoDB
Nếu bạn đang sử dụng SELinux ở chế độ enforcing, bạn có thể cần đặt nhãn cho cổng 27017.
sudo semanage port -a -t mongod_port_t -p tcp 27017
Cho phép cổng của MongoDB trên tường lửa
Nếu bạn đang chạy firewalld trên máy chủ và muốn dịch vụ MongoDB có thể truy cập qua mạng, hãy mở nó trên tường lửa:
sudo firewall-cmd --add-port=27017/tcp --permanent
sudo firewall-cmd --reload
Bạn cũng có thể giới hạn quyền truy cập dựa trên địa chỉ nguồn:
sudo firewall-cmd --permanent --add-rich-rule "rule family="ipv4" \
source address="10.10.20.0/24" port protocol="tcp" port="27017" accept"
Sử dụng ổ đĩa phụ cho dữ liệu MongoDB - Tùy chọn
Bạn luôn có thể sử dụng một ổ đĩa/ổ đĩa ảo riêng để lưu trữ dữ liệu MongoDB. Điều này có thể được cấu hình như dưới đây:
Bước 1: Chia ổ đĩa phụ để lưu trữ dữ liệu MongoDB.
# lsblk | grep vdb
vdb 252:16 0 50G 0 disk
Bước 2: Tạo một bảng phân vùng GPT cho ổ đĩa phụ, có thể là nhiều ổ đĩa.
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
Bước 3: Tạo một ổ đĩa ảo LVM, điều này sẽ làm cho việc mở rộng phân vùng dễ dàng hơn.
sudo pvcreate /dev/vdb1
sudo vgcreate vg11 /dev/vdb1
sudo lvcreate -n data -l 100%FREE vg11
Bước 4: Tạo hệ thống tập tin XFS trên Logical Volume đã tạo.
sudo mkfs.xfs /dev/mapper/vg11-data
Bước 5: Tạo điểm mount và gắn kết phân vùng.
echo "/dev/mapper/vg11-data /data xfs defaults 0 0" | sudo tee -a /etc/fstab
sudo mkdir /data
sudo mount -a
Bước 6: Tạo một thư mục cho dữ liệu MongoDB.
sudo mkdir /data/mongo
sudo chown -R mongod:mongod /data/mongo
sudo chmod -R 775 /data/mongo
Bước 7: Xác nhận rằng việc gắn kết phân vùng đã thành công
df -hT | grep /data/mongo
Bước 8: Thay đổi vị trí lưu trữ dữ liệu MongoDB trong tập tin /etc/mongod.conf.
storage:
dbPath: /data/mongo
journal:
enabled: true
Khởi động dịch vụ MongoDB
Khi tất cả đã được thiết lập, khởi động và đặt dịch vụ mongod để khởi động cùng hệ thống.
sudo systemctl enable --now mongod
Nếu dịch vụ được khởi động thành công, nó sẽ hiển thị trạng thái đang chạy.
$ 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.