Cách cài đặt và cấu hình MongoDB trên CentOS 8

theanh

Administrator
Nhân viên
MongoDB là một cơ sở dữ liệu NoSQL cung cấp hiệu suất cao, tính khả dụng cao và khả năng mở rộng tự động. Cơ sở dữ liệu NoSQL có nghĩa là, không giống như MySQL hoặc PostgreSQL, nó không hỗ trợ SQL (Ngôn ngữ truy vấn có cấu trúc) để truy xuất hoặc thao tác dữ liệu được lưu trữ.

MongoDB không lưu trữ dữ liệu trong các bảng. Thay vào đó, nó lưu trữ dữ liệu trong cấu trúc "tài liệu" tương tự như JSON (trong MongoDB gọi là BSON). MongoDB lần đầu tiên được giới thiệu vào năm 2009, sáu năm trước và hiện đang được MongoDB MongoDB Inc. phát triển.

Trong hướng dẫn này, chúng tôi sẽ chỉ cho bạn cách cài đặt và cấu hình MongoDB 4.4 trên CentOS 8 Server. Chúng tôi sẽ cài đặt MongoDB, chỉnh sửa một số thiết lập hệ thống để sửa một số lỗi trên MongoDB, tạo người dùng quản trị viên cho MongoDB, sau đó là xác thực MongoDB.

Điều kiện tiên quyết
  • Máy chủ CentOS 8
  • Quyền root
  • Hiểu lệnh Linux/CentOS cơ bản
Chúng ta sẽ làm gì?
  • Thêm kho lưu trữ MongoDB
  • Cài đặt MongoDB trên CentOS 8
  • Sửa một số lỗi MongoDB
  • Tạo người dùng quản trị MongoDB
  • Bật MongoDB Xác thực
  • Kiểm tra

Bước 1 - Thêm kho lưu trữ MongoDB​

Trước tiên, hãy đăng nhập vào máy chủ của bạn bằng tên người dùng và mật khẩu SSH, sau đó cập nhật tất cả các gói lên phiên bản mới nhất bằng lệnh bên dưới.
Mã:
ssh [emailprotected]
sudo dnf update
Bây giờ, hãy chuyển đến thư mục '/etc/yum.repos.d' và tạo tệp kho lưu trữ mới 'mongodb-4.4.repo' bằng trình soạn thảo vim.
Mã:
cd /etc/yum.repos.d/
vim mongodb-4.4.repo
Dán kho lưu trữ MongoDB 4.4 sau vào đó.
Mã:
[mongodb-org-4.4]
name=MongoDB Kho lưu trữ
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/4.4/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-4.4.asc
Lưu và đóng.

Tiếp theo, hãy kiểm tra tất cả các kho lưu trữ khả dụng trên hệ thống CentOS bằng lệnh dnf bên dưới.
Mã:
sudo dnf repolist
Dưới đây là kết quả bạn sẽ nhận được.



Kết quả là kho lưu trữ MongoDB đã được thêm vào hệ thống CentOS 8.

Bước 2 - Cài đặt MongoDB NoSQL Database Server​

Để cài đặt MongoDB NoSQL Database, hãy chạy lệnh dnf bên dưới.
Mã:
sudo dnf install -y mongodb-org
Sau khi hoàn tất quá trình cài đặt, hãy khởi động dịch vụ MongoDB và thêm dịch vụ này vào hệ thống khởi động.
Mã:
systemctl start mongod
systemctl enable mongod
Dịch vụ MongoDB đã hoạt động, hãy kiểm tra bằng lệnh bên dưới.
Mã:
ss -plnt
systemctl status mongod
Dưới đây là kết quả bạn sẽ nhận được.



Như có thể thấy, dịch vụ MongoDB đang chạy trên cổng TCP mặc định '27017'.

Bước 3 - Sửa lỗi MongoDB​

Ở giai đoạn này, dịch vụ MongoDB đã hoạt động trên hệ thống CentOS 8. Và đối với bước này, chúng ta sẽ nâng cao cài đặt MongoDB bằng cách thay đổi một số cấu hình hệ thống để sửa một số lỗi.

- Vô hiệu hóa Transparent Huge Pages (THP) bằng Tuned​

Để tăng hiệu suất cài đặt MongoDB, chúng ta cần vô hiệu hóa THP hay Transparent Huge Pages trên hệ thống của mình. Và đối với hệ thống CentOS, bạn có thể vô hiệu hóa THP thông qua cấu hình cấu hình được điều chỉnh.

Tạo một thư mục mới '/etc/tuned/virtual-guest-no-thp' cho cấu hình được điều chỉnh tùy chỉnh có tên là 'virtual-guest-no-thp'.
Mã:
sudo mkdir -p /etc/tuned/virtual-guest-no-thp
Tiếp theo, tạo cấu hình 'tuned.conf' trên thư mục '/etc/tuned/virtual-guest-no-thp/' bằng trình soạn thảo vim.
Mã:
vim /etc/tuned/virtual-guest-no-thp/tuned.conf
Dán cấu hình sau vào đó.
Mã:
[main]
include=virtual-guest

[vm]
transparent_hugepages=never
Lưu và đóng.

Bây giờ hãy kích hoạt cấu hình tùy chỉnh mới 'virtual-guest-no-thp' bằng lệnh tune-adm bên dưới.
Mã:
sudo tune-adm profile virtual-guest-no-thp
Để xác minh trạng thái THP trên trạng thái Linux, hãy kiểm tra bằng lệnh sau.
Mã:
cat /sys/kernel/mm/transparent_hugepage/enabled
Bây giờ hãy đảm bảo rằng bạn nhận được phản hồi '[never]' như bên dưới.



Như có thể thấy, Transparent Huge Pages trên hệ thống CentOS đã bị vô hiệu hóa thông qua cấu hình Tuned.

- Thiết lập UNIX Ulimit​

Ulimits hoặc Giới hạn người dùng được sử dụng để xác định lượng tài nguyên trên toàn hệ thống mà người dùng có thể sử dụng. Để cải thiện và nâng cao hiệu suất của MongoDB, bạn cần tăng cài đặt ulimit cho dịch vụ MongoDB.

Bây giờ hãy vào thư mục '/etc/security/limits.d/' và tạo cấu hình mới 'monogd.conf' bằng trình soạn thảo vim.
Mã:
cd /etc/security/limits.d/
vim mongod.conf
Dán cấu hình sau vào đó.
Mã:
mongod soft nproc 64000
mongod hard nproc 64000
mongod soft nofile 64000
mongod hard nofile 64000
Lưu và đóng.

Để áp dụng cấu hình mới, hãy chạy lệnh bên dưới.
Mã:
sysctl -p
Bây giờ hãy đảm bảo rằng bạn không gặp lỗi nào và cấu hình Ulimit cho MongoDB đã hoàn tất.

- Tắt cảnh báo MongoDB Cloud Monitoring (Tùy chọn)​

Giai đoạn này là tùy chọn. Bạn có thể bỏ qua thông tin về dịch vụ MongoDB Cloud Monitoring khi bạn đăng nhập vào shell MongoDB.

Để tắt cảnh báo này, hãy đăng nhập vào shell MongoDB bằng lệnh "mongo" bên dưới.
Mã:
mongo
Bây giờ hãy chạy truy vấn sau.
Mã:
db.disableFreeMonitoring()
Gõ 'exit' để đăng xuất khỏi shell MongoDB và bây giờ hãy khởi động lại máy chủ của bạn.
Mã:
sudo reboot
Và kết quả là, cảnh báo về dịch vụ MongoDB Cloud Monitoring đã biến mất.


Bước 4 - Tạo người dùng quản trị MongoDB​

Trong bước này, chúng ta sẽ tạo người dùng quản trị cho MongoDB thông qua shell 'mongo'.

Đăng nhập vào shell MongoDB bằng lệnh 'mongo' bên dưới.
Mã:
mongo
Bây giờ chuyển sang cơ sở dữ liệu 'admin'.
Mã:
sử dụng admin
Sau đó, tạo người dùng mới 'admin' với mật khẩu 'hakasepasswordformongodbadmin' bằng truy vấn sau.
Mã:
db.createUser(
 {
 user: "admin",
 pwd: "hakasepasswordformongodbadmin",
 roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
 }
)
Và người dùng MongoDB đã được tạo, hãy kiểm tra tất cả người dùng trên MongoDB bằng truy vấn bên dưới.
Mã:
hiển thị người dùng
Dưới đây là kết quả bạn sẽ nhận được.



Kết quả là người dùng quản trị cho MongoDB đã được tạo, hãy nhập 'exit' để đăng xuất khỏi shell MongoDB.

Bước 5 - Bật MongoDB Xác thực​

Sau khi tạo người dùng quản trị, chúng tôi sẽ bật xác thực MongoDB để ngăn người dùng khác không có đủ đặc quyền xem dữ liệu trên cơ sở dữ liệu.

Để bật xác thực MongoDB, hãy chỉnh sửa cấu hình '/etc/mongod.conf' bằng trình soạn thảo vim.
Mã:
vim /etc/mongod.conf
Bỏ chú thích tùy chọn 'security' và thêm cấu hình như bên dưới.
Mã:
security
 authorization: "enabled"
Lưu và đóng.

Tiếp theo, khởi động lại dịch vụ MongoDB để áp dụng cấu hình mới.
Mã:
systemctl restart mongod
Đảm bảo không có lỗi và xác thực MongoDB đã được bật.


Bước 6 - Kiểm tra​

Để kiểm tra cài đặt và cấu hình xác thực MongoDB của chúng tôi, bạn có thể xác minh thông qua shell MongoDB.

Đăng nhập vào shell MongoDB bằng lệnh bên dưới.
Mã:
mongo
Tiếp theo, chuyển sang cơ sở dữ liệu 'admin' và hiển thị tất cả người dùng trên MongoDB bằng các truy vấn sau.
Mã:
use admin
show users
Dưới đây là kết quả bạn sẽ nhận được.



Như có thể thấy, bạn không được phép hiển thị tất cả danh sách người dùng trên cơ sở dữ liệu 'admin'.

Tiếp theo, xác thực với máy chủ MongoDB bằng truy vấn sau.
Mã:
db.auth('admin', 'hakasepasswordformongodbadmin')
Bây giờ hãy đảm bảo rằng bạn nhận được số phản hồi '1', điều này có nghĩa là xác thực thành công.

Tiếp theo, bạn có thể hiển thị và kiểm tra tất cả người dùng khả dụng trên máy chủ MongoDB của mình bằng truy vấn bên dưới.
Mã:
show users
Và bạn sẽ nhận được quản trị viên MongoDB mà chúng ta vừa tạo ở trên cùng.



Kết quả là, quá trình cài đặt và cấu hình của MongoDB NoSQL Database Server trên hệ thống CentOS 8 đã hoàn thành thành công.
 
Back
Bên trên