So sánh replica và shard mongodb năm 2024

Trong bài trước nói về begin MongoDB và triển khai MongoDB với 01 member. Do đó có thể tham khảo cài đặt và sử dụng các thao tác cơ bản trên MongoDB 3 tại: Cài đặt và các thao tác cơ bản MongoDB 3

Trong bài này, mô hình triển khai replica set MongoDB sử dụng 02 member, và tận dụng 01 server trong hệ thống làm Arbiter cho việc vote

Về lý thuyết mình thấy 2 nguồn này rõ ràng và dễ hiểu:

//docs.mongodb.com/manual/replication/

//kipalog.com/posts/Replica-set-trong-MongoDB

Trong phạm vi bài viết sẽ triển khai replication MongoDB 3 trên các member là CentOS 7

I. Cài đặt MongoDB 3 trên 03 servers

Step1: Tạo mongodb3 repository

vim /etc/yum.repos.d/mongo.repo

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

Step2: Cài đặt MongoDB và các gói công cụ

yum install -y mongodb-org systemctl start mongodb systemctl enable mongodb

Step3: Cho phép truy cập mongodb từ một số IPAddress Soạn tệp cấu hình /etc/mongod.conf trên các server

sed -i 's/127.0.0.1/0.0.0.0/' /etc/mongod.conf

Cho phép truy cập mongodb từ local network

firewall-cmd --permanent --zone=public --add-rich-rule='rule family="ipv4" source address="192.168.10.0/24" port port="27017" protocol="tcp" accept' firewall-cmd --reload

2. Replication MongoDB

Trong điều kiện replication MongoDB với 2 server, khi primary unvailable, thì secondary cũng sẽ không tự động thành primary được, vì nó chỉ có 01 vote. Thực tế trong môi trường product thì luôn cần ghi vào database, và tất nhiên chỉ có Primary là có thể write, secondary thì chỉ có thể read. Do đó chúng ta sẽ tận dụng một máy nào đó trong hệ thống để làm Arbiter [trọng tài] vào replica set, để vote cho secondary thành primary. – Arbiter chỉ có chức năng vote, không giữ data của hệ thống replica set, cũng như không thể trở thành primary. – Arbiter yêu cầu cấu hình tối thiểu để cài đặt mongodb, do đó chúng ta có thể tận dụng một server nào nó trong hệ thống như: monitor, application

Với replica set MongoDB, member nào có priority cao hơn sẽ là primary. Do đó khi cấu hình chúng ta sẽ để server01 có priority cao hơn để làm default primary.

2.1 Replica set mà không access control

Step1: Enable replication on MongoDB

Trên 03 server mà cài đặt MongoDB, thêm nội dung sau vào tệp tin cấu hình mongod.conf để enable replication với tên replica set id là: mongo_rep

cat >>/etc/mongod.conf /etc/hosts >/etc/mongod.conf

Chủ Đề