Nếu là tài liệu, hãy chỉ định tài liệu cấu hình thành viên bộ bản sao như được tìm thấy trong mảng. Bạn phải chỉ định trường trong tài liệu cấu hình thành viên
sao chép
{ _id: , host: , // required arbiterOnly: , buildIndexes: , hidden: , priority: , tags: , slaveDelay: , votes: }
Để biết mô tả về trường cấu hình, hãy tham khảo
Nếu là một chuỗi, hãy chỉ định tên máy chủ và tùy chọn số cổng cho thành viên mới
mongod --bind_ip localhost,My-Example-Associated-Hostname8booleanTùy chọn. Chỉ áp dụng nếu giá trị
mongod --bind_ip localhost,My-Example-Associated-Hostname9 là một chuỗi. Nếu
mongo --host My-Example-Associated-Hostname mongo --host 198.51.100.10, người dẫn chương trình được thêm vào là trọng tài
cung cấp một trình bao bọc xung quanh một số chức năng của và trình trợ giúp trình bao tương ứng. Xem tài liệu Cấu hình bộ bản sao để biết tài liệu đầy đủ về tất cả các tùy chọn cấu hình bộ bản sao.
Liên kết IP
Bắt đầu từ MongoDB 3. 6, các tệp nhị phân MongoDB và , liên kết với máy chủ cục bộ theo mặc định. Nếu cài đặt tệp cấu hình hoặc tùy chọn dòng lệnh
mongo --host My-Example-Associated-Hostname mongo --host 198.51.100.18 được đặt cho tệp nhị phân, tệp nhị phân sẽ liên kết bổ sung với địa chỉ IPv6 localhost
Trước đây, bắt đầu từ MongoDB 2. 6, chỉ các tệp nhị phân từ các gói MongoDB RPM chính thức [Red Hat, CentOS, Fedora Linux và các công cụ phái sinh] và DEB [Debian, Ubuntu và các công cụ phái sinh] liên kết với localhost theo mặc định
Khi chỉ bị ràng buộc với máy chủ cục bộ, các MongoDB 3 này. 6 tệp nhị phân chỉ có thể chấp nhận kết nối từ máy khách [bao gồm trình bao, các thành viên khác trong quá trình triển khai của bạn cho bộ bản sao và cụm phân đoạn] đang chạy trên cùng một máy. Máy khách từ xa không thể kết nối với các tệp nhị phân chỉ được liên kết với localhost
Để ghi đè và liên kết với các địa chỉ ip khác, bạn có thể sử dụng cài đặt tệp cấu hình hoặc tùy chọn dòng lệnh
rs.add[ { host: "mongodbd4.example.net:27017" } ]1 để chỉ định danh sách tên máy chủ hoặc địa chỉ ip
Cảnh báo
Trước khi liên kết với một máy chủ không phải máy chủ cục bộ [e. g. địa chỉ IP có thể truy cập công khai], đảm bảo bạn đã bảo vệ cụm của mình khỏi bị truy cập trái phép. Để biết danh sách đầy đủ các đề xuất bảo mật, hãy xem Danh sách kiểm tra bảo mật . Ở mức tối thiểu, hãy xem xét và củng cố cơ sở hạ tầng mạng .
Ví dụ: trường hợp sau liên kết với cả máy chủ cục bộ và tên máy chủ
rs.add[ { host: "mongodbd4.example.net:27017" } ]3, được liên kết với địa chỉ ip
rs.add[ { host: "mongodbd4.example.net:27017" } ]4
sao chép
mongod --bind_ip localhost,My-Example-Associated-Hostname
Để kết nối với phiên bản này, các máy khách từ xa phải chỉ định tên máy chủ hoặc địa chỉ IP được liên kết của nó
rs.add[ { host: "mongodbd4.example.net:27017" } ]4
sao chép
mongo --host My-Example-Associated-Hostname mongo --host 198.51.100.1
Mẹo
Khi có thể, hãy sử dụng tên máy chủ DNS hợp lý thay vì địa chỉ IP, đặc biệt khi định cấu hình thành viên bộ bản sao hoặc thành viên cụm phân đoạn. Việc sử dụng tên máy chủ DNS hợp lý tránh thay đổi cấu hình do thay đổi địa chỉ IP
Cư xử
trong một số trường hợp, có thể kích hoạt một cuộc bầu cử chính sẽ ngắt kết nối trình bao [chẳng hạn như 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 hiện tại]. Trong những trường hợp như vậy, trình bao có thể hiển thị lỗi ngay cả khi thao tác thành công
Mẹo
Khi một phụ mới được thêm có cài đặt và lớn hơn 0, trong quá trình đồng bộ hóa ban đầu, phụ vẫn được tính là thành viên biểu quyết mặc dù không thể phục vụ lượt đọc cũng như không thể trở thành chính vì dữ liệu của phụ không nhất quán
Điều này có thể dẫn đến trường hợp đa số thành viên bỏ phiếu trực tuyến nhưng không thể bầu sơ bộ. Để tránh những tình huống như vậy, ban đầu hãy xem xét thêm phụ mới với và. Sau đó, khi thành viên đã chuyển sang trạng thái, hãy sử dụng để cập nhật mức độ ưu tiên và phiếu bầu của họ
Thí dụ
Thêm một phụ vào một bộ bản sao mới
Để thêm một thành viên phụ mới với cài đặt ưu tiên và bỏ phiếu mặc định vào một bộ bản sao mới, bạn có thể gọi phương thức này bằng
Tài liệu cấu hình thành viên
sao chép
rs.add[ { host: "mongodbd4.example.net:27017" } ]
Tên máy chủ
sao chép
rs.add[ "mongodbd4.example.net:27017" ]
Thêm bản sao phụ vào bộ bản sao hiện có
Mẹo
Khi một phụ mới được thêm có cài đặt và lớn hơn 0, trong quá trình đồng bộ hóa ban đầu, phụ vẫn được tính là thành viên biểu quyết mặc dù không thể phục vụ lượt đọc cũng như không thể trở thành chính vì dữ liệu của phụ không nhất quán
Điều này có thể dẫn đến trường hợp đa số thành viên bỏ phiếu trực tuyến nhưng không thể bầu sơ bộ. Để tránh những tình huống như vậy, ban đầu hãy xem xét thêm phụ mới với và. Sau đó, khi thành viên đã chuyển sang trạng thái, hãy sử dụng để cập nhật mức độ ưu tiên và phiếu bầu của họ
Để thêm thành viên phụ mới với cài đặt ưu tiên và bỏ phiếu mặc định vào bộ bản sao hiện có
Thêm thành viên ban đầu dưới dạng thành viên , ưu tiên 0 .
sao chép
rs.add[ { host: "mongodbd4.example.net:27017", priority: 0, votes: 0 } ]
Đảm bảo rằng thành viên mới đã đạt đến trạng thái. Để kiểm tra trạng thái của các thành viên bộ bản sao, hãy chạy
sao chép
rs.status[]
Cấu hình lại bộ bản sao để cập nhật phiếu bầu và ưu tiên của thành viên mới
sao chép
var cfg = rs.conf[]; cfg.members[n].priority = 1; // Substitute the correct array index for the new member cfg.members[n].votes = 1; // Substitute the correct array index for the new member rs.reconfig[cfg]
trong đó
rs.add[ { host: "mongodbd4.example.net:27017", priority: 0, votes: 0 } ]
3 là chỉ số mảng của thành viên mới trong mảng
Cảnh báo
- Phương thức shell có thể buộc bước chính hiện tại giảm xuống, điều này gây ra lỗi. Khi bước chính xuống, đóng tất cả các kết nối máy khách. Mặc dù quá trình này thường mất 10-20 giây, nhưng hãy thử thực hiện những thay đổi này trong thời gian bảo trì theo lịch trình
- Tránh cấu hình lại các bộ bản sao chứa các thành viên của các phiên bản MongoDB khác nhau vì các quy tắc xác thực có thể khác nhau giữa các phiên bản MongoDB
Thêm Thành viên Ưu tiên 0 vào Bộ Bản sao
Thao tác sau đây thêm một phiên bản, chạy trên máy chủ
rs.add[ { host: "mongodbd4.example.net:27017", priority: 0, votes: 0 } ]8 và có thể truy cập trên cổng mặc định
rs.add[ { host: "mongodbd4.example.net:27017", priority: 0, votes: 0 } ]9, dưới dạng ưu tiên 0 thành viên phụ.
sao chép
rs.add[ { host: "mongodbd4.example.net:27017", priority: 0 } ]
Bạn phải chỉ định trường trong tài liệu cấu hình thành viên
Xem cài đặt cấu hình thành viên bộ bản sao có sẵn
Thêm Trọng tài viên vào Bộ bản sao
Thao tác sau đây thêm một phiên bản, chạy trên máy chủ
rs.status[]3 và có thể truy cập trên cổng mặc định
rs.add[ { host: "mongodbd4.example.net:27017", priority: 0, votes: 0 } ]9 với tư cách là người phân xử
Tài liệu cấu hình thành viên
sao chép
rs.add[ { host: "mongodb3.example.net:27017", arbiterOnly: true } ]
Tên máy chủ
sao chép
mongod --bind_ip localhost,My-Example-Associated-Hostname
0
Đối với các phiên bản MongoDB sau,
rs.status[]5 tăng khả năng khôi phục so với
rs.status[]7 [không còn được hỗ trợ trong MongoDB 4. 0+] cho các bộ bản sao có trọng tài
- MongoDB 3. 4. 1
- MongoDB 3. 4. 0
- MongoDB 3. 2. 11 hoặc sớm hơn
Xem Phiên bản giao thức bộ bản sao .
Xem thêm
- Thêm thành viên vào một bộ bản sao
- Thêm Người phân xử vào Bộ bản sao
- Thay thế một thành viên bộ bản sao
- Xóa thành viên khỏi Bộ bản sao
← Phương pháp sao chép rs. addArb[] →
© MongoDB, Inc 2008-nay. MongoDB, Mongo và logo chiếc lá là các nhãn hiệu đã đăng ký của MongoDB, Inc