MongoDB bộ dữ liệu bản sao sẽ được đồng bộ giữa máy chủ mongodb “Chính” và máy chủ mongodb “Phụ”. Thành viên “Chính” của bộ bản sao có thể đọc và ghi dữ liệu trong khi thành viên “Phụ” chỉ có thể đọc dữ liệu. Khi “Primary” bị treo/xuống, “Secondary” mongodb sẽ tự động chuyển thành “Primary” giúp hệ thống chịu lỗi và có sẵn tính năng cao. Show [nhãn mục=”1″]
mô hình. Replica Set Cluster trên Mongodb Chuẩn bị– Hệ điều hành CentOS 7, MongoDB phiên bản 3. 6, SELinux=đã tắt, Dừng dịch vụ Tường lửa máy 1. 10. 128. 0. 2 mongo1 Ngày 02 tháng 5. 10. 128. 0. 3 mongo2 Máy 3. 10. 128. 0. 4 mongo3 ln -sf /usr/share/zoneinfo/Asia/Ho_Chi_Minh /etc/localtime sed -i 's/^SELINUX=.*/SELINUX=disabled/g' /etc/selinux/config Bước 1. Cài đặt mongodb và tạo thư mục chứa dữ liệu và đăng nhập MongoDB+ Thực hiện trên cả 3 máy chủ mongodb. Tham khảo bài viết trước vi /etc/yum.repos.d/mongodb-org-3.6.repo [mongodb-org-3.6]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/6/mongodb-org/3.6/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-3.6.asc ______3mkdir db; mkdir log; chown mongod:mongod log db + Cấu hình map tĩnh ip address và hostname trên 3 mongodb server vi /etc/hosts //Add thêm 3 dòng sau 10.128.0.2 mongo1 10.128.0.3 mongo2 10.128.0.4 mongo3 Bước 2. Cấu hình file mongod. conf+ Trên server mongodb1[[email protected] ~]# vi /etc/mongod.conf # mongod.conf # where to write logging data.systemLog: destination: file logAppend: true path: /opt/mongo/log/mongod.log # Where and how to store data.storage: dbPath: /opt/mongo/db journal: enabled: true # how the process runsprocessManagement: fork: true # fork and run in background pidFilePath: /var/run/mongodb/mongod.pid # location of pidfile # network interfaces net: port: 27017 bindIp: 0.0.0.0 #replication: replication: oplogSizeMB: 1 replSetName: "mongo_rs" Trên máy chủ mongo2 vi /etc/mongod.conf vi /etc/yum.repos.d/mongodb-org-3.6.repo 0+ Trên Server mongo3 vi /etc/yum.repos.d/mongodb-org-3.6.repo 1 vi /etc/yum.repos.d/mongodb-org-3.6.repo 2Bước 3. Khởi tạo mongodb replica set cluster+ Khởi động lại dịch vụ mongod trên cả 3 máy chủ vi /etc/yum.repos.d/mongodb-org-3.6.repo 3____14+ Khởi tạo bộ bản sao mongodb trên máy chủ mongodb1 (chính) vi /etc/yum.repos.d/mongodb-org-3.6.repo 5 vi /etc/yum.repos.d/mongodb-org-3.6.repo 6+ Tạo cơ sở dữ liệu “người” và tập hợp “nhân viên” trên mongodb1 (chính) vi /etc/yum.repos.d/mongodb-org-3.6.repo 7chuyển sang db người vi /etc/yum.repos.d/mongodb-org-3.6.repo 8 vi /etc/yum.repos.d/mongodb-org-3.6.repo 9+ Kiểm tra đồng bộ dữ liệu trên mongodb2 & mongodb3 ( phụ ) vi /etc/yum.repos.d/mongodb-org-3.6.repo 5[mongodb-org-3.6]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/6/mongodb-org/3.6/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-3.6.asc 1[mongodb-org-3.6]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/6/mongodb-org/3.6/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-3.6.asc 2+ Kiểm tra khả năng chịu lỗi bằng cách kill -9 process_mongodb_id trên Primary (mongodb1) và kiểm tra khả năng replica set trên mongodb2 & mongodb3 + Kiểm tra khả năng chuyển đổi dự phòng trên mongodb2. Khi mongodb1 down, lúc này mongodb2 được ưu tiên. 2 sẽ tự động chuyển từ phụ thành chính có khả năng đọc+ghi dữ liệu vi /etc/yum.repos.d/mongodb-org-3.6.repo 5[mongodb-org-3.6]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/6/mongodb-org/3.6/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-3.6.asc 4+ Khi mongo1 up lại với priority = 3, lớn nhất trong 3 máy chủ mongo sẽ tự động đảm nhiệm vai trò “Primary” từ mongo2 Bước 4. Cấu hình enable Security Authentication trong mongodb replica set+ Khi kích hoạt xác thực trong replica set hoặc sharded cluster, các thành viên trong replica set hoặc sharded cluster phải cung cấp keyfile chứa chứng thực. Chúng ta phải kích hoạt xác thực trên mỗi máy chủ thành viên. Sau đây chúng ta sẽ sử dụng keyfile để xác thực các thành viên của bộ bản sao MongoDB + Bước 4. 1. Tạo người dùng “admin” trên cơ sở dữ liệu “admin” có vai trò. userAdminAnyDatabase có quyền quản lý tạo, xóa, chỉnh sửa những người dùng khác[mongodb-org-3.6]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/6/mongodb-org/3.6/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-3.6.asc 5[mongodb-org-3.6]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/6/mongodb-org/3.6/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-3.6.asc 6[mongodb-org-3.6]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/6/mongodb-org/3.6/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-3.6.asc 7– Kiểm tra xem người dùng được tạo có thể xác thực chưa [mongodb-org-3.6]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/6/mongodb-org/3.6/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-3.6.asc 8[mongodb-org-3.6]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/6/mongodb-org/3.6/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-3.6.asc 9– Bật xác thực trong tệp mongod. conf sudo yum install -y mongodb-org mkdir -p /opt/mongo & cd /opt/mongo0 sudo yum install -y mongodb-org mkdir -p /opt/mongo & cd /opt/mongo1 + Bước 4. 2. Tạo keyfile trên máy chủ chính và sao chép keyfile sang toàn bộ máy chủ phụsudo yum install -y mongodb-org mkdir -p /opt/mongo & cd /opt/mongo2______33 sudo yum install -y mongodb-org mkdir -p /opt/mongo & cd /opt/mongo4 sudo yum install -y mongodb-org mkdir -p /opt/mongo & cd /opt/mongo5 + Bước 4. 3. Bật xác thực và sao chép trên mỗi thành viên của bộ bản sao hoặc cụm phân đoạnsudo yum install -y mongodb-org mkdir -p /opt/mongo & cd /opt/mongo6 sudo yum install -y mongodb-org mkdir -p /opt/mongo & cd /opt/mongo7 + Bước 4. 4. Khởi động dịch vụ mongod trên cả 3 máy chủsudo yum install -y mongodb-org mkdir -p /opt/mongo & cd /opt/mongo8 + Bước 4. 5. Tạo người dùng khác có quyền quản lý trên từng cơ sở dữ liệu của mình– Proof of user “admin” được tạo bên trên sudo yum install -y mongodb-org mkdir -p /opt/mongo & cd /opt/mongo9____40____41 – Tạo người dùng với vai trò “dbOwner” trên từng cơ sở dữ liệu mkdir db; mkdir log; chown mongod:mongod log db 2Ví dụ. Tạo người dùng “người” có vai trò “dbOwner” trên “người” DB mkdir db; mkdir log; chown mongod:mongod log db 3mkdir db; mkdir log; chown mongod:mongod log db 4mkdir db; mkdir log; chown mongod:mongod log db 5– Kiểm tra lại các tài khoản vừa tạo mkdir db; mkdir log; chown mongod:mongod log db 6[mongodb-org-3.6]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/6/mongodb-org/3.6/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-3.6.asc 6______48mkdir db; mkdir log; chown mongod:mongod log db 9– Connect to database “People” by account “People” vừa được tạo ở trên vi /etc/hosts //Add thêm 3 dòng sau 0vi /etc/hosts //Add thêm 3 dòng sau 1vi /etc/hosts //Add thêm 3 dòng sau 2kiểm tra vi /etc/hosts //Add thêm 3 dòng sau 3____54____55vi /etc/hosts //Add thêm 3 dòng sau 6vi /etc/hosts //Add thêm 3 dòng sau 7– Tạo siêu người dùng có đầy đủ quyền mkdir db; mkdir log; chown mongod:mongod log db 6[mongodb-org-3.6]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/6/mongodb-org/3.6/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-3.6.asc 6______6010.128.0.2 mongo1 10.128.0.3 mongo2 10.128.0.4 mongo31 – Kiểm tra siêu người dùng tài khoản 10.128.0.2 mongo1 10.128.0.3 mongo2 10.128.0.4 mongo32 10.128.0.2 mongo1 10.128.0.3 mongo2 10.128.0.4 mongo33 10.128.0.2 mongo1 10.128.0.3 mongo2 10.128.0.4 mongo34 Như vậy, qua bài lab này mình đã hướng dẫn các bạn xây dựng hệ thống Master Slave trong Mongo |