MongoDB Bản sao: Cách tạo MongoDB Bộ bản sao

⚡ Tóm tắt thông minh

MongoDB Sao chép dữ liệu giúp duy trì dữ liệu giống hệt nhau trên nhiều máy. MongoDB máy chủ, bảo vệ chống lại lỗi máy chủ và cho phép cân bằng tải. Được nhóm lại. MongoDB Các bản sao tạo thành một bộ sao chép, trong đó một bản chính chịu trách nhiệm ghi dữ liệu và các bản phụ xử lý việc đọc và chuyển đổi dự phòng.

  • 🗄️ Khái niệm cốt lõi: Sao chép dữ liệu (Replication) sẽ sao chép cùng một dữ liệu đến nhiều máy chủ khác nhau để đảm bảo thông tin luôn khả dụng ngay cả khi máy chủ chính gặp sự cố.
  • 👑 Tiểu học và Trung học: Một tập hợp bản sao có một thành viên chính nhận các thao tác ghi và các thành viên phụ phục vụ các thao tác đọc.
  • 🚀 Tạo tập hợp: Lệnh rs.initiate() khởi tạo một bộ sao chép sau khi phiên bản mongod đầu tiên được khởi chạy với tùy chọn replSet.
  • Thêm thành viên: Lệnh rs.add() dùng để thêm các máy chủ phụ, trong khi lệnh rs.remove() dùng để loại bỏ một thành viên khỏi cấu hình.
  • 🔧 Xử lý Sự cố: Các lệnh rs.status() và rs.printReplicationInfo() hiển thị trạng thái hoạt động của heartbeat và kích thước Oplog để chẩn đoán.

MongoDB Bản sao: Cách tạo MongoDB Bộ bản sao

Là gì MongoDB Nhân rộng?

Sao chép dữ liệu được hiểu là quá trình đảm bảo rằng cùng một dữ liệu có sẵn trên nhiều bản sao khác nhau. MongoDB Máy chủ. Điều này đôi khi cần thiết để tăng tính khả dụng của dữ liệu.

Bởi vì nếu chính của bạn MongoDB Máy chủ ngừng hoạt động vì bất kỳ lý do gì, sẽ không có quyền truy cập vào dữ liệu. Nhưng nếu bạn sao chép dữ liệu sang máy chủ khác theo định kỳ, bạn sẽ có thể truy cập dữ liệu từ máy chủ khác ngay cả khi máy chủ chính bị lỗi.

Một mục đích khác của việc sao chép là khả năng cân bằng tải. Nếu có nhiều người dùng kết nối với hệ thống, thay vì yêu cầu mọi người kết nối với một hệ thống, người dùng có thể được kết nối với nhiều máy chủ để có sự phân bổ tải bằng nhau.

In MongoDB, nhiều MongoDB Các máy chủ được nhóm lại thành các bộ gọi là bộ sao chép (Replica sets). Mỗi bộ sao chép sẽ có một máy chủ chính, máy chủ này sẽ chấp nhận tất cả các thao tác ghi từ máy khách. Tất cả các phiên bản khác được thêm vào bộ sau đó sẽ được gọi là các phiên bản phụ (secondary instances), chủ yếu được sử dụng cho tất cả các thao tác đọc.

Cách tạo bộ bản sao trong MongoDB Thêm Thành viên đầu tiên bằng rs.initiate()

Như đã đề cập ở phần trước, để cho phép sao chép, trước tiên chúng ta cần tạo một bộ bản sao gồm MongoDB các trường hợp.

Giả sử trong ví dụ này, chúng ta có 3 máy chủ gọi là ServerA, ServerB và ServerC. Trong cấu hình này, ServerA sẽ là máy chủ chính, còn ServerB và ServerC sẽ là các máy chủ phụ. Ảnh chụp màn hình bên dưới sẽ giúp bạn hiểu rõ hơn.

Tạo bản sao cài đặt trong MongoDB

Dưới đây là các bước cần thực hiện để tạo MongoDB bộ bản sao cùng với việc bổ sung thành viên đầu tiên vào bộ.

Bước 1) Đảm bảo tất cả các phiên bản mongod.exe đã được thêm vào

Hãy đảm bảo rằng tất cả các phiên bản mongod.exe sẽ được thêm vào bộ sao chép đều được cài đặt trên các máy chủ khác nhau. Điều này nhằm đảm bảo rằng ngay cả khi một máy chủ gặp sự cố, các máy chủ khác vẫn hoạt động, và do đó các phiên bản khác của mongod.exe cũng sẽ được kích hoạt. MongoDB sẽ có sẵn.

Bước 2) Tất cả các phiên bản mongo.exe kết nối với nhau.

Đảm bảo rằng tất cả các phiên bản mongo.exe có thể kết nối với nhau. Từ ServerA, đưa ra 2 lệnh dưới đây.

mongo --host ServerB --port 27017
mongo --host ServerC --port 27017

Tương tự, thực hiện tương tự từ các máy chủ còn lại.

Bước 3) Khởi chạy phiên bản mongod.exe đầu tiên

Khởi chạy phiên bản mongod.exe đầu tiên với tùy chọn replSet. Tùy chọn này cung cấp một nhómping Áp dụng cho tất cả các máy chủ sẽ là một phần của bộ sao chép này.

mongo --replSet "Replica1"

Trong đó “Replica1” là tên của bộ bản sao của bạn. Bạn có thể chọn bất kỳ tên có ý nghĩa nào cho tên bộ bản sao của mình.

Bước 4) Máy chủ đầu tiên được thêm vào bộ sao chép.

Giờ đây, máy chủ đầu tiên đã được thêm vào bộ sao chép, bước tiếp theo là khởi tạo bộ sao chép bằng cách thực hiện lệnh sau: rs.initiate().

Bước 5) Xác minh bộ bản sao

Kiểm tra bộ sao chép bằng cách thực hiện lệnh rs.conf() để đảm bảo bộ sao chép được thiết lập đúng cách.

Bộ bản sao: Thêm thứ cấp bằng rs.add()

Bạn có thể thêm máy chủ thứ cấp vào nhóm bản sao chỉ bằng cách sử dụng lệnh rs.add. Lệnh này lấy tên của các máy chủ phụ và thêm các máy chủ vào bộ sao chép.

Bước 1) Giả sử bạn có ServerA, ServerB và ServerC, những máy chủ này cần phải là một phần của bộ sao chép, và ServerA được định nghĩa là máy chủ chính trong bộ sao chép đó.

Để thêm ServerB và ServerC vào bộ sao chép, hãy thực hiện các lệnh sau:

rs.add("ServerB")
rs.add("ServerC")

Bộ bản sao: Cấu hình lại hoặc xóa bằng rs.remove()

Để xóa một máy chủ khỏi bộ cấu hình, chúng ta cần sử dụng lệnh “rs.remove”.

Bước 1) Trước tiên, hãy tắt máy chủ mà bạn muốn xóa. Bạn có thể thực hiện điều này bằng cách sử dụng lệnh db.shutdownServer từ giao diện dòng lệnh mongo.

Bước 2) Kết nối với máy chủ chính.

Bước 3) Sử dụng lệnh rs.remove để xóa máy chủ cần thiết khỏi bộ sao chép. Ví dụ, nếu bạn có một bộ sao chép gồm ServerA, ServerB và ServerC, và bạn muốn xóa ServerC khỏi bộ sao chép, hãy thực hiện lệnh:

rs.remove("ServerC")

Khắc phục sự cố bộ bản sao

Sau đây là những cách tương tự mà bạn có thể sử dụng để khắc phục sự cố khi gặp vấn đề trong quá trình sử dụng các bộ sao chép.

  1. Hãy đảm bảo tất cả các phiên bản mongo.exe có thể kết nối với nhau. Giả sử bạn có 3 máy chủ được gọi là ServerA, ServerB và ServerC. Từ ServerA, hãy thực hiện 2 lệnh sau:
    mongo --host ServerB --port 27017
    mongo --host ServerC --port 27017
  2. Chạy lệnh rs.status. Lệnh này hiển thị trạng thái của bộ sao chép. Theo mặc định, mỗi thành viên sẽ gửi cho nhau các tin nhắn được gọi là tin nhắn "nhịp tim", chỉ đơn giản là cho biết máy chủ đang hoạt động. Lệnh "status" lấy trạng thái của các tin nhắn này và hiển thị xem có bất kỳ sự cố nào với bất kỳ thành viên nào trong bộ sao chép hay không.
  3. Kiểm tra kích thước của Oplog. Oplog là một tập hợp trong MongoDB lưu trữ lịch sử ghi được thực hiện cho MongoDB cơ sở dữ liệu. MongoDB sau đó sử dụng Oplog này để sao chép việc ghi cho các thành viên khác trong bộ bản sao. Để kiểm tra Oplog, hãy kết nối với phiên bản thành viên được yêu cầu và chạy lệnh rs.printReplicationInfo. Lệnh này sẽ hiển thị kích thước của nhật ký và thời gian nó có thể giữ các giao dịch trong tệp nhật ký trước khi nó đầy.

Câu Hỏi Thường Gặp

Đúng vậy. Trợ lý AI có thể tạo ra các tùy chọn khởi động mongod, cấu hình rs.initiate() và các lệnh rs.add() cho một bộ sao chép. Luôn luôn xem lại tên máy chủ, cổng và mức độ ưu tiên của thành viên trước khi áp dụng cấu hình cho máy chủ sản xuất.

Đúng vậy. Các công cụ giám sát dựa trên AI có thể đọc các chỉ số rs.status() và Oplog để gắn cờ các máy chủ phụ hoạt động chậm hơn máy chủ chính. Chúng có thể đề xuất các nguyên nhân như độ trễ mạng hoặc ổ đĩa chậm, nhưng các kỹ sư nên xác nhận trước khi thực hiện.

MongoDB Nên chọn số lượng thành viên bỏ phiếu lẻ, thường là ba, để cuộc bầu cử có thể đạt được đa số. Nếu chỉ có hai nút dữ liệu khả thi về mặt chi phí, có thể thêm một trọng tài để giải quyết các trường hợp hòa mà không cần lưu trữ dữ liệu.

Khi ứng cử viên chính không thể đạt được mục tiêu, các thành viên còn lại sẽ tổ chức bầu cử và tự động đề cử một ứng cử viên dự bị đủ điều kiện vào vòng bầu cử sơ bộ. Viết lại kế hoạch hoạt động sau khi chọn được ứng cử viên chính mới, tiếp tục cập nhật.ping Ứng dụng hoạt động với thời gian ngừng hoạt động tối thiểu.

Tóm tắt bài viết này với: