Hướng dẫn cài đặt MongoDB trên CentOS 6/ RHEL 6

MongoDB là một cơ sở dữ liệu hướng tài liệu, mã nguồn mở được thiết kế với cả khả năng mở rộng và tính linh hoạt của nhà phát triển. Thay vì lưu trữ dữ liệu của bạn trong các bảng và hàng như với cơ sở dữ liệu quan hệ, trong MongoDB, bạn lưu trữ các tài liệu giống như JSON với các lược đồ động.

MongoDB có sẵn cho Windows, Linux, OS X và Solaris, MongoDB có sẵn miễn phí theo Giấy phép Công cộng GNU GNU. Các trình điều khiển ngôn ngữ có sẵn theo Giấy phép Apache.

Dưới đây là hướng dẫn về cách cài đặt MongoDB mới nhất (MongoDB 4.0.11) trên CentOS 6 / RHEL 6.

Bắt đầu từ phiên bản 3.4, MongoDB không còn hỗ trợ các hệ điều hành 32 bit.

Chuyển sang người dùng root.

$ su -

Thiết lập MongoDB Repository

Gói MongoDB không có sẵn trong kho lưu trữ cơ sở và phiên bản có sẵn trong kho EPEL quá cũ. Vì vậy, chúng tôi sẽ thiết lập kho lưu trữ MongoDB trên hệ thống để có được phiên bản mới nhất của gói MongoDB.

Tạo một tệp lưu trữ trong thư mục /etc/yum.repos.d.

vi /etc/yum.repos.d/mongodb.repo

Thêm dòng sau.

[mongodb-org-4.0]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/4.0/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-4.0.asc

Cài đặt MongoDB

Cài đặt gói MongoDB bằng lệnh yum.

yum install -y mongodb-org

Kiểm soát dịch vụ MongoDB

MongoDB có thể được bắt đầu / dừng bằng các dòng lệnh dễ hiểu.

Để bắt đầu dịch vụ MongoDB, hãy chạy:

service mongod start

Để dừng dịch vụ MongoDB, hãy chạy: (nếu cần)

service mongod stop

Để kiểm tra trạng thái dịch vụ MongoDB, hãy chạy:

service mongod status

Xác nhận phiên bản MongoDB.

mongod --version

Thông tin xuất ra sẽ có dạng:

db version v4.0.11
git version: 417d1a712e9f040d54beca8e4943edce218e9a8c
OpenSSL version: OpenSSL 1.0.1e-fips 11 Feb 2013
allocator: tcmalloc
modules: none
build environment:
    distmod: rhel62
    distarch: x86_64
    target_arch: x86_64

Truy cập MongoDB

Chạy lệnh dưới đây để truy cập shell MongoDB.

mongo

Thông tin:

MongoDB shell version v4.0.11
connecting to: mongodb://127.0.0.1:27017/?gssapiServiceName=mongodb
Implicit session: session { "id" : UUID("84710c1a-9449-40c1-b7eb-7bc80657a4c6") }
MongoDB server version: 4.0.11
Welcome to the MongoDB shell.
For interactive help, type "help".
For more comprehensive documentation, see
	http://docs.mongodb.org/
Questions? Try the support group
	http://groups.google.com/group/mongodb-user
Server has startup warnings: 
2019-08-04T15:44:50.306+0700 I STORAGE  [initandlisten] 
2019-08-04T15:44:50.306+0700 I STORAGE  [initandlisten] ** WARNING: Using the XFS filesystem is strongly recommended with the WiredTiger storage engine
2019-08-04T15:44:50.306+0700 I STORAGE  [initandlisten] **          See http://dochub.mongodb.org/core/prodnotes-filesystem
2019-08-04T15:44:51.220+0700 I CONTROL  [initandlisten] 
2019-08-04T15:44:51.220+0700 I CONTROL  [initandlisten] ** WARNING: Access control is not enabled for the database.
2019-08-04T15:44:51.220+0700 I CONTROL  [initandlisten] **          Read and write access to data and configuration is unrestricted.
2019-08-04T15:44:51.220+0700 I CONTROL  [initandlisten] 
2019-08-04T15:44:51.220+0700 I CONTROL  [initandlisten] 
2019-08-04T15:44:51.220+0700 I CONTROL  [initandlisten] ** WARNING: /sys/kernel/mm/transparent_hugepage/enabled is 'always'.
2019-08-04T15:44:51.220+0700 I CONTROL  [initandlisten] **        We suggest setting it to 'never'
2019-08-04T15:44:51.220+0700 I CONTROL  [initandlisten] 
2019-08-04T15:44:51.220+0700 I CONTROL  [initandlisten] ** WARNING: /sys/kernel/mm/transparent_hugepage/defrag is 'always'.
2019-08-04T15:44:51.220+0700 I CONTROL  [initandlisten] **        We suggest setting it to 'never'
2019-08-04T15:44:51.220+0700 I CONTROL  [initandlisten] 
2019-08-04T15:44:51.220+0700 I CONTROL  [initandlisten] ** WARNING: soft rlimits too low. rlimits set to 1024 processes, 262144 files. Number of processes should be at least 131072 : 0.5 times number of files.
2019-08-04T15:44:51.220+0700 I CONTROL  [initandlisten] 
---
Enable MongoDB's free cloud-based monitoring service, which will then receive and display
metrics about your deployment (disk utilization, CPU, operation statistics, etc).

The monitoring data will be available on a MongoDB website with a unique URL accessible to you
and anyone you share the URL with. MongoDB may use this information to make product
improvements and to suggest MongoDB products and deployment options to you.

To enable free monitoring, run the following command: db.enableFreeMonitoring()
To permanently disable this reminder, run the following command: db.disableFreeMonitoring()
---

>

Sửa lỗi MongoDB

Lỗi 1

019-01-18T03:09:32.611+0000 I STORAGE [initandlisten] ** WARNING: Using the XFS filesystem is strongly recommended with the WiredTiger storage engine
2019-01-18T03:09:32.611+0000 I STORAGE [initandlisten] ** See http://dochub.mongodb.org/core/prodnotes-filesystem

Để xóa vấn đề này, sử dụng XFS filesystem.

Lỗi 2

2019-01-18T03:09:33.351+0000 I CONTROL  [initandlisten] ** WARNING: Access control is not enabled for the database.
2019-01-18T03:09:33.351+0000 I CONTROL  [initandlisten] **          Read and write access to data and configuration is unrestricted.

Để giải quyết vấn đề này, chỉnh sửa tệp cấu hình và cho phép kiểm soát truy cập.

vi /etc/mongod.conf

Thêm dòng dưới đây vào tập tin mongod.conf.

security:
  authorization: enabled

Lỗi 3

2019-01-18T03:09:33.352+0000 I CONTROL  [initandlisten] ** WARNING: /sys/kernel/mm/transparent_hugepage/enabled is 'always'.
2019-01-18T03:09:33.352+0000 I CONTROL  [initandlisten] **        We suggest setting it to 'never'
2019-01-18T03:09:33.352+0000 I CONTROL  [initandlisten] 
2019-01-18T03:09:33.352+0000 I CONTROL  [initandlisten] ** WARNING: /sys/kernel/mm/transparent_hugepage/defrag is 'always'.
2019-01-18T03:09:33.352+0000 I CONTROL  [initandlisten] **        We suggest setting it to 'never'

Để xóa vấn đề này, bạn cần phải vô hiệu hóa các trang lớn trong suốt (disable transparent huge pages.)

Lỗi 4

2019-01-18T03:09:33.352+0000 I CONTROL [initandlisten] ** WARNING: soft rlimits too low. rlimits set to 1024 processes, 64000 files. Number of processes should be at least 32000 : 0.5 times number of files.

Để xóa vấn đề này, đặt ulimit.

  • Bài viết này có hữu ích không?
  •   không
MongoDBNoSQL
Bình luận (0)
Thêm bình luận