Phương thức bổ sung sẽ thêm một thành viên vào nhóm sao được chỉ định. Chúng tôi được yêu cầu kết nối với tập hợp chính của tập hợp bản sao cho phương pháp này. Kết nối với trình bao sẽ bị chấm dứt nếu phương thức sẽ kích hoạt một cuộc bầu cử sơ bộ. Ví dụ – nếu chúng tôi cố gắng thêm một thành viên mới có mức độ ưu tiên cao hơn thành viên chính. Lỗi sẽ bị phản ánh bởi trình bao mongo ngay cả khi thao tác thành công
Ví dụ
Trong ví dụ sau, chúng tôi sẽ thêm một thành viên phụ với phiếu bầu mặc định
rs.add[ { host: "mongodbd4.example.net:27017" } ]
Tên máy chủ
rs.add[ "mongodbd4.example.net:27017" ]
#2. rs. addArb[máy chủ]
Chúng tôi có thể thêm một máy chủ mới vào một bản sao hiện có được đặt tại máy chủ lưu trữ được chỉ định
Ví dụ
mongod --bind_ip localhost,My-Example-
Nếu bạn muốn kết nối với phiên bản này, tên máy chủ hoặc địa chỉ IP liên kết 198. 52. 100. 2 of it must be only by the client from xa
mongo --host My-Example- mongo --host 198.52.100.2
#3. rs. conf[]
Phương thức conf được sử dụng để lấy một tài liệu có chứa cấu hình của sao tập tin hiện tại
Rs. conf[] end config command replSetGetConfig
Ví dụ
Lệnh sau hiển thị tài liệu cấu hình của một tập hợp bản sao bao gồm tập hợp con của các cài đặt này
{ _id: , version: , protocolVersion: , writeConcernMajorityJournalDefault: , configsvr: , members: [ { _id: , host: , arbiterOnly: , buildIndexes: , hidden: , priority: , tags: , slaveDelay: , votes: }, ], settings: { chainingAllowed : , heartbeatIntervalMillis : , heartbeatTimeoutSecs: , electionTimeoutMillis : , catchUpTimeoutMillis : , getLastErrorModes : , getLastErrorDefaults : , replicaSetId: } }
#4. rs. bắt đầu [cấu hình]
Phương thức khởi tạo sao chép tập tin sao chép. Phương pháp này có thể coi một tài liệu chứa cấu hình rs. khởi tạo [] của một bản sao tập hợp, nhưng đó là tùy chọn
Ví dụ
Ví dụ sau đây khởi tạo một tập hợp bản sao mới với ba thành viên khác nhau
{ _id: "JTPReplSet", version: 1, members: [ { _id: 0, host : "mongodb0.example.net:27017" }, { _id: 1, host : "mongodb1.example.net:27017" }, { _id: 2, host : "mongodb2.example.net:27017" } ] }
#5. rs. cấu hình lại [cấu hình, lực lượng]
Như tên cho thấy, phương pháp được sử dụng để cấu hình lại một bản sao tập hợp hiện có. Nó sẽ ghi đè lên tất cả cấu hình bộ sao hiện có. Chúng ta phải kết nối với bộ sao chính để chạy phương thức này
MongoDB Sharded Cluster là giải pháp Scaling Out trên MongoDB giúp tăng số lượng máy chủ để giải bài toán mở rộng khi dung lượng của cơ sở dữ liệu được tăng lên. Dữ liệu thay vì chỉ được ghi trên một máy chủ hoặc một Bộ bản sao nên dữ liệu sẽ ghi phân tán trên toàn bộ các Shard, khiến cho tốc độ truy xuất dữ liệu nhanh hơn
Một hệ thống MongoDB Sharded Cluster sẽ bao gồm các thành phần sau
- Mảnh vỡ. Shard được sử dụng để chứa dữ liệu, mỗi Shard sẽ là một Bộ bản sao
- Mông Cổ. Được sử dụng như là Query Router, dùng để điều hướng truy cập đến Shard chính xác đang chứa dữ liệu, mỗi Shard Cluster có thể có nhiều Mongos
- Máy chủ cấu hình. Là các Máy chủ được sử dụng để chứa dữ liệu meta và cấu hình của Cụm. Máy chủ cấu hình là một bộ bản sao
nội dung
Set Set
Chuẩn bị
Ở đây do cấu hình mô hình demo nên mình chỉ dùng 3 VPS
- Cả 3 VPS này đều cài đặt CentOS 7 với MongoDB v4. 2. 3
- Tài khoản Root của 3 VPS
Set Set
Đầu tiên để chuẩn bị thì ta sẽ cấu hình file hosts tại /etc/hosts trên toàn bộ VPS để việc cấu hình truy cập sẽ dễ dàng hơn
Nội dung của file hosts sẽ là địa chỉ IP local của 3 VPS cùng với hostname tương ứng
Tới đây ta sẽ tiến hành bắt đầu cấu hình các thành phần của Mongo Shard
Cấu hình Config Server
Tiến hành chỉnh sửa lại tập tin mongod. conf with the content as after
- Mục Bind Ip. ta will add IP local of VPS ta đang cấu hình cho phép Mongo lắng nghe trên IP local
- Mục Replication. ta sẽ thêm dòng [ retSetName. “tên của bộ bản sao” ] để tiến hành cấu hình Bộ bản sao
- Mục Shard. ta sẽ thêm dòng [ clusterRole. configsvr ] để cấu hình chức năng của VPS này trên Shard Cluster
vi /etc/mongod.conf
Sau khi hoàn tất bước trên, tiến trình khởi động MongoDB
systemctl start mongod
Tiếp theo tiến trình truy cập vào MongoDB để cấu hình Replica Set cho VPS này
________số 8
rs.initiate[{_id: "replconfig", members:[{_id:1, host: "config:27017", priority:3}]}]
Trong đó mục “Id” là tên của Replica Set, thành viên là tên của các Mongo thuộc Replica Set đó
Sau đó có thể xem lại các thành viên của bản sao được đặt bằng câu lệnh sau
rs.add[ "mongodbd4.example.net:27017" ]0
Mọi người có thể tham khảo bài viết cấu hình MongoDB Replica Set tại đường link này
Cấu hình Shard Server
Tương tự với cấu hình Config Server, ta sẽ tiến hành chỉnh sửa lại file mongod. conf with the content as after
- Mục Bind Ip. ta will add IP local of VPS ta đang cấu hình cho phép Mongo lắng nghe trên IP local
- Mục Replication. ta sẽ thêm dòng [ retSetName. “tên của bộ bản sao” ] để tiến hành cấu hình Bộ bản sao
- Mục Shard. ta sẽ thêm dòng [ clusterRole. shardsvr ] để cấu hình chức năng của VPS này trên Shard Cluster
Replica Set process
rs.add[ "mongodbd4.example.net:27017" ]1
Configure Mongos
Other with Config Config and Shard Cluster at Config file /etc/mongod. conf Mongos ta sẽ bình luận lại chặn lưu trữ, không tiến hành cấu hình Bản sao Đặt mà chỉ tiến trình cấu hình Sharding với nội dung “configDB. chuỗi kết nối của Máy chủ cấu hình”
vi /etc/mongod.conf
Khác với việc khởi động MongoDB tại Config Cluster và Shard Cluster, ở Mongos ta sẽ khởi động bằng lệnh sau
rs.add[ "mongodbd4.example.net:27017" ]3
Sau đó tiến hành truy cập vào MongoDB và thêm Shard Cluster bằng các câu lệnh sau
rs.add[ "mongodbd4.example.net:27017" ]4
rs.add[ "mongodbd4.example.net:27017" ]5
Như vậy, đến đây việc cấu hình MongoDB Shard Cluster đã hoàn tất
Ta can't test again as after
Create a database with demo name and enable Shard for this database
systemctl start mongod
0
Tiến hành bật Shard Collection cho cơ sở dữ liệu demo với bộ sưu tập “stacklamp” và shard key là “test1”
systemctl start mongod
1
Create content for Collection “đèn xếp”
systemctl start mongod
2systemctl start mongod
3systemctl start mongod
4systemctl start mongod
5
Tiến hành truy cập vào Shard Cluster để kiểm tra lại
Bài viết của mình về cấu hình MongoDB Shard dựa trên kinh nghiệm và tìm tòi đến đây là hết, cảm ơn mọi người đã theo dõi