Lệnh nào thêm thành viên vào bộ bản sao từ vỏ mongodb?

Sao chép là đồng bộ hóa dữ liệu trên nhiều máy chủ hoặc không gian lưu trữ. Nó cung cấp dữ liệu dư thừa và cho phép người dùng lưu trữ nhiều bản sao dữ liệu trong các máy chủ khác nhau để cung cấp dữ liệu đó mọi lúc. Sao chép tránh mất dữ liệu trong các trường hợp không chắc chắn bằng cách tạo bản sao. Sao chép là cần thiết vì các điểm sau đây được liệt kê dưới đây

  • Nó đảm bảo an toàn dữ liệu và giữ dữ liệu an toàn trên nhiều máy chủ
  • Sao chép dữ liệu có nghĩa là ít lưu lượng truy cập hơn trên một máy chủ và nó làm cho dữ liệu luôn có sẵn.  
  • Giữ dữ liệu sao chép cho phép người dùng khôi phục dữ liệu từ bất kỳ máy chủ thứ cấp nào nếu có bất kỳ thảm họa nào xảy ra để tránh mất dữ liệu
  • Nếu có bất kỳ máy chủ nào bị lỗi hệ thống hoặc ngừng hoạt động để bảo trì hoặc lập chỉ mục thì có thể sử dụng một máy chủ khác để phân phối dữ liệu

Bản sao hoạt động như thế nào trong MongoDB?

MongoDB sử dụng các bộ bản sao để đạt được bản sao. Bộ bản sao MongoDB là tập hợp các phiên bản MongoDB lưu trữ dữ liệu giống hệt nhau. Một nút là nút chính trong một bản sao và nó nhận tất cả các thao tác ghi. Tất cả các phiên bản khác, chẳng hạn như phiên bản phụ, sử dụng các hành động của phiên bản chính để đảm bảo chúng có cùng một tập dữ liệu. Chỉ có thể có một nút chính trong một bộ bản sao

  • Bộ bản sao là tập hợp của hai hoặc nhiều nút giống hệt nhau (thường yêu cầu tối thiểu 3 nút)
  • Một nút trong bộ bản sao là nút chính, trong khi các nút khác là phụ
  • Từ nút chính đến nút phụ, tất cả dữ liệu được sao chép
  • Bầu cử cho nút chính được thiết lập trong quá trình chuyển đổi dự phòng hoặc bảo trì tự động và một nút chính mới được bầu chọn
  • Sau khi nút bị lỗi được khôi phục, nó sẽ tham gia lại bộ bản sao và trở thành nút phụ

Các tính năng của bộ bản sao

  • N nút trong một cụm
  • Bất kỳ nút nào cũng có thể là nút chính
  • Tất cả các hoạt động ghi được gửi đến bộ lưu trữ chính
  • Chuyển đổi dự phòng xảy ra tự động
  • Phục hồi được thực hiện tự động
  • Bầu cử sơ bộ theo đồng thuận

Ví dụ

mongod --port 27017 --dbpath "D:set upmongodbdata" --replSet rs0
  • Trên cổng 27017, nó sẽ khởi chạy phiên bản mongod với tên rs0
  • Kết nối với cá thể mongod này bằng dấu nhắc lệnh
  • Để bắt đầu một bộ bản sao mới, hãy sử dụng chức năng máy khách Mongo rs. bắt đầu()
  • Sử dụng lệnh rs. conf() để kiểm tra thiết lập bộ bản sao (). Sử dụng lệnh rs. status() để xác minh trạng thái của bộ bản sao

điều kiện tiên quyết

  • Kiến thức làm việc về MongoDB
  • MongoDB được cài đặt tại máy trạm chủ
  • Một ý tưởng chung về việc sử dụng dòng lệnh

Điều gì làm cho Trải nghiệm sao chép dữ liệu của Hevo trở nên tốt nhất trong lớp?

Sao chép dữ liệu có thể là một nhiệm vụ mệt mỏi nếu không có bộ công cụ phù hợp. Nền tảng tự động của Hevo trao quyền cho bạn mọi thứ bạn cần để có trải nghiệm Sao chép, thu thập và xử lý dữ liệu mượt mà. Nền tảng của chúng tôi có những thứ sau đây dành cho bạn

  • Bảo mật vượt trội. Kiến trúc chịu lỗi đảm bảo không mất dữ liệu
  • Sao chép thời gian thực. Hevo hỗ trợ sao chép theo thời gian thực cho MongoDB, nó cũng hỗ trợ chế độ Changestreams, do đó bạn có thể sao chép theo thời gian thực
  • Được xây dựng để mở rộng quy mô. Khả năng mở rộng theo chiều ngang vượt trội với độ trễ tối thiểu cho nhu cầu dữ liệu hiện đại
  • Trình kết nối tích hợp. Hỗ trợ hơn 100 Nguồn dữ liệu, bao gồm Cơ sở dữ liệu như MongoDB, Nền tảng SaaS, Tệp, v.v. Webhook gốc và Trình kết nối API REST có sẵn cho Nguồn tùy chỉnh
  • Tải dữ liệu gia tăng. Hevo cho phép truyền dữ liệu đã được sửa đổi theo thời gian thực. Điều này đảm bảo sử dụng hiệu quả băng thông ở cả hai đầu
  • Ánh xạ lược đồ tự động. Hevo loại bỏ nhiệm vụ quản lý lược đồ tẻ nhạt & tự động phát hiện định dạng của dữ liệu đến và sao chép nó vào lược đồ đích. Bạn cũng có thể chọn giữa Ánh xạ đầy đủ và Gia tăng để phù hợp với yêu cầu Sao chép dữ liệu của mình
  • Cài đặt cực nhanh. Giao diện đơn giản để khách hàng mới làm việc với thời gian thiết lập tối thiểu
  • Hỗ trợ trực tuyến. Nhóm Hevo luôn sẵn sàng hỗ trợ đặc biệt cho khách hàng của mình thông qua trò chuyện, email và các cuộc gọi hỗ trợ
Đăng ký tại đây để dùng thử miễn phí 14 ngày

Các phương pháp thiết lập Bộ bản sao MongoDB

MongoDB cho phép người dùng sao chép dữ liệu của họ một cách thuận tiện bằng cách sử dụng Bộ bản sao và sử dụng chúng cho các mục đích khác nhau như thử nghiệm và phát triển, sản xuất, v.v. Bạn có thể sử dụng các phương pháp sau để tạo và triển khai Bộ bản sao MongoDB của mình

  • Phương pháp 1. Thiết lập Bộ bản sao MongoDB mới
  • Phương pháp 2. Chuyển đổi một trường hợp độc lập thành một bộ bản sao MongoDB
  • Phương pháp 3. Thiết lập Bộ bản sao MongoDB để Thử nghiệm & Phát triển

Phương pháp 1. Thiết lập Bộ bản sao MongoDB mới

Bạn có thể thiết lập Bộ bản sao mới trong MongoDB bằng các bước sau

  • Bước 1. Bắt đầu trường hợp mongod
  • Bước 2. Định cấu hình Bộ bản sao
  • Bước 3. Kích hoạt bản sao trong MongoDB
  • Bước 4. Thêm các phiên bản MongoDB vào các bộ bản sao
  • Bước 5. Xóa Instances khỏi Replica Sets
  • Bước 6. Kiểm tra quá trình sao chép

Bước 1. Bắt đầu trường hợp mongod

Để bắt đầu phiên bản mongod, hãy chỉ định giá trị cổng cho phiên bản Mongo của bạn cùng với đường dẫn đến bản cài đặt MongoDB trên hệ thống của bạn. Sử dụng lệnh sau để kích hoạt phiên bản mongod của bạn

$ mongod --port 27017 --dbpath /var/lib/mongodb --replSet replicaSet1

MongoDB sử dụng cổng 27017 làm cổng mặc định. Trong trường hợp người dùng không chỉ định số cổng, MongoDB sẽ tự động thiết lập kết nối với cổng mặc định

Tham số –repelset chỉ định tên của Bộ bản sao sẽ lưu trữ các phiên bản MongoDB khác nhau. Ở đây, bộ bản sao được gọi là replicaSet1

Bước 2. Định cấu hình Bộ bản sao

Bộ bản sao chứa nhiều phiên bản giao tiếp với nhau. Để thiết lập liên lạc giữa chúng, bạn cần chỉ định tên máy chủ cùng với IP của chúng như sau

MongoDB Replica Set: IP address for nodes | Hevo Data

Bạn cũng có thể kết nối chúng bằng cách sử dụng các dòng mã sau

mongo –host node-2 –port 27017
mongo –host node-3 –port 27017

Để thiết lập kết nối hoàn chỉnh, bạn cần sử dụng các lệnh này một lần với mọi máy chủ bằng cách thay đổi máy chủ/nút theo yêu cầu

Bước 3. Kích hoạt bản sao trong MongoDB

Khi bạn đã thực hiện tất cả các cấu hình, bây giờ bạn cần mở Mongo Shell bằng phiên bản chính của mình và sử dụng lệnh bắt đầu như sau

rs.initiate()

Bây giờ bạn sẽ thấy đầu ra sau trên hệ thống của mình. Điều này chỉ ra rằng quá trình sao chép đã bắt đầu

MongoDB shell version v3.4.10
connecting to: mongodb://172.34.21.121:27017
MongoDB server version: 3.4.10
> rs.initiate()
{
"info2": "no configuration specified. Using a default configuration for the set",
"me" : "example:27017",
"ok" : 1

Đây là cách bạn có thể sử dụng rs. started() lệnh để bắt đầu quá trình sao chép. Giờ đây, Mongo Shell sẽ thay đổi lời nhắc thành tên của Bộ bản sao của bạn, replicaSet1

Bước 4. Thêm các phiên bản MongoDB vào các bộ bản sao

Khi bạn đã khởi tạo Bộ bản sao của mình, bây giờ bạn có thể bắt đầu thêm các phiên bản MongoDB khác nhau vào nó bằng lệnh add như sau

rs.add(<servername:port>)

Ví dụ: nếu bạn muốn thêm nút-2 và nút-3 vào Bộ bản sao replicaSet1, bạn có thể sử dụng lệnh sau trong Mongo Shell của mình

rs.add('node-2:27017')
rs.add('node-3:27017')
Adding new nodes to Replica Set

Đầu ra {'ok'. 1} chỉ ra rằng một phiên bản MongoDB đã được thêm thành công vào Bộ bản sao. Để kiểm tra trạng thái của bản sao, bạn có thể sử dụng lệnh trạng thái như sau.

rs.status()

Lệnh status sẽ tạo đầu ra sau nếu các phiên bản MongoDB đã được thêm thành công

MongoDB Replica Set: Replica Set status | Hevo Data

Đây là cách bạn có thể thêm các phiên bản MongoDB vào Bộ bản sao của mình

Bước 5. Xóa Instances khỏi Replica Sets

Bộ bản sao MongoDB cũng cho phép người dùng xóa một hoặc nhiều phiên bản mà họ đã thêm vào bộ Bản sao bằng cách sử dụng lệnh xóa. Để xóa một phiên bản cụ thể, trước tiên bạn cần tắt nó bằng lệnh sau

________số 8

Khi bạn đã tắt máy chủ, bạn cần kết nối với máy chủ chính của mình và sử dụng lệnh xóa như sau

rs.remove("server_name")

Ví dụ: nếu bạn muốn xóa phiên bản “nút-2” khỏi replicaSet1, bạn có thể sử dụng lệnh sau

$ mongod --port 27017 --dbpath /var/lib/mongodb --replSet replicaSet1
0

Đây là cách bạn có thể xóa phiên bản MongoDB khỏi Bộ bản sao của mình

Bước 6. Kiểm tra quá trình sao chép

Bạn có thể kiểm tra quy trình bằng cách thêm tài liệu vào nút chính. Nếu sao chép hoạt động bình thường, tài liệu sẽ tự động được sao chép vào nút phụ

Đầu tiên, kết nối với nút chính và thêm tài liệu bằng lệnh insertOne như sau

$ mongod --port 27017 --dbpath /var/lib/mongodb --replSet replicaSet1
1

Chuyển sang nút phụ của bạn, nút-2 bằng lệnh sau

$ mongod --port 27017 --dbpath /var/lib/mongodb --replSet replicaSet1
2

Nếu quá trình sao chép diễn ra đúng cách, tài liệu trong nút chính của bạn sẽ tự động được sao chép sang nút phụ. Bạn có thể kiểm tra điều này bằng lệnh find như sau

$ mongod --port 27017 --dbpath /var/lib/mongodb --replSet replicaSet1
3

Lệnh find sẽ truy cập cơ sở dữ liệu movies và bộ sưu tập release_year và xuất ra các tài liệu được lưu trữ như sau.  

$ mongod --port 27017 --dbpath /var/lib/mongodb --replSet replicaSet1
4

Đầu ra ở trên chỉ ra rằng tài liệu đã được tự động sao chép vào nút phụ. Đây là cách bạn có thể dễ dàng thiết lập Bộ bản sao MongoDB và thực hiện các thao tác khác nhau trên đó

Phương pháp 2. Chuyển đổi một trường hợp độc lập thành một bộ bản sao MongoDB

MongoDB cho phép người dùng chuyển đổi các phiên bản MongoDB độc lập của họ thành Bộ bản sao. Các phiên bản độc lập được sử dụng trong quá trình thử nghiệm và phát triển, trong khi Bộ bản sao là một phần của giai đoạn sản xuất

Đầu tiên, tắt phiên bản mongod của bạn bằng lệnh sau

$ mongod --port 27017 --dbpath /var/lib/mongodb --replSet replicaSet1
5

Khởi động lại phiên bản mongod của bạn. Bạn phải sử dụng tham số –repelSet trong lệnh của mình để chỉ định Bộ bản sao bạn sẽ sử dụng. Người dùng phải chỉ định tên của máy chủ cùng với IP duy nhất của họ trong lệnh của họ như sau

$ mongod --port 27017 --dbpath /var/lib/mongodb --replSet replicaSet1
6

Kết nối Mongo Shell của bạn với phiên bản MongoDB của bạn và sử dụng lệnh khởi tạo để bắt đầu quá trình sao chép và chuyển đổi thành công phiên bản MongoDB độc lập của bạn thành Bộ bản sao

Bây giờ bạn có thể thực hiện tất cả các thao tác cơ bản như thêm phiên bản, xóa phiên bản, v.v. sử dụng các lệnh sau

$ mongod --port 27017 --dbpath /var/lib/mongodb --replSet replicaSet1
7

Bạn thậm chí có thể kiểm tra trạng thái của Bộ bản sao MongoDB của mình, bằng cách sử dụng lệnh rs. trạng thái () và rs. lệnh conf()

Đây là cách bạn có thể chuyển đổi phiên bản MongoDB độc lập của mình thành Bộ bản sao MongoDB

Phương pháp 3. Thiết lập Bộ bản sao MongoDB để Thử nghiệm & Phát triển

Với tính năng sao chép trong MongoDB, bạn có thể triển khai Bộ bản sao trong môi trường thử nghiệm và phát triển. Bạn có thể thiết lập Bộ bản sao để thử nghiệm khi bật hoặc tắt kiểm soát truy cập. Trong phương pháp này, bạn sẽ thiết lập Bộ bản sao với quyền kiểm soát truy cập bị vô hiệu hóa để triển khai nó trong môi trường thử nghiệm. Nếu muốn thiết lập có bật kiểm soát truy cập, bạn có thể xem tài liệu chính thức tại đây

Điều này có thể được thực hiện bằng các bước sau

  • Bước 1. Tạo thư mục dữ liệu cho các phiên bản MongoDB
  • Bước 2. Bắt đầu sao chép trong MongoDB

Bước 1. Tạo thư mục dữ liệu cho các phiên bản MongoDB

Bạn có thể dễ dàng tạo các thư mục cho tất cả các phiên bản là một phần của Bộ bản sao bằng cách sử dụng lệnh sau

$ mongod --port 27017 --dbpath /var/lib/mongodb --replSet replicaSet1
8

Lệnh này sẽ tạo các thư mục cho ba phiên bản MongoDB rs0-0, rs0-1 và rs0-2.  

Bước 2. Bắt đầu sao chép trong MongoDB

Khi bạn đã tạo các thư mục cho các thành viên Bộ bản sao của mình, bạn có thể bắt đầu các phiên bản MongoDB cho từng thành viên bằng cách sử dụng bộ lệnh sau

Sử dụng lệnh sau cho Máy chủ 1

$ mongod --port 27017 --dbpath /var/lib/mongodb --replSet replicaSet1
9

Sử dụng lệnh sau cho Máy chủ 2

mongo –host node-2 –port 27017
mongo –host node-3 –port 27017
0

Sử dụng lệnh sau cho Máy chủ 3

mongo –host node-2 –port 27017
mongo –host node-3 –port 27017
1

Tham số –oplogSize được sử dụng để ngăn máy bị quá tải trong giai đoạn thử nghiệm. Nó giúp giảm dung lượng đĩa mà mỗi đĩa tiêu thụ

Kết nối với một trong các phiên bản MongoDB khác nhau là một phần của Bộ bản sao của bạn bằng Mongo Shell. Bạn có thể sử dụng lệnh sau để kết nối bằng số cổng

mongo –host node-2 –port 27017
mongo –host node-3 –port 27017
2

sử dụng rs. started() để bắt đầu quá trình sao chép và tạo một đối tượng cấu hình như sau bằng cách thay thế tham số tên máy chủ bằng tên hệ thống của bạn

mongo –host node-2 –port 27017
mongo –host node-3 –port 27017
3

Truyền tệp đối tượng cấu hình làm tham số cho lệnh bắt đầu và sử dụng nó như sau

mongo –host node-2 –port 27017
mongo –host node-3 –port 27017
4

Đây là cách bạn có thể tạo Bộ bản sao MongoDB cho mục đích thử nghiệm và phát triển

Để biết thêm thông tin về cách tạo Bộ bản sao trong MongoDB, bạn có thể kiểm tra tài liệu chính thức tại đây

Thêm thành viên vào bộ bản sao

Bắt đầu phiên bản mongod trên các máy khác nhau để thêm thành viên vào bộ bản sao. Bắt đầu một khách hàng mongo và sử dụng rs. lệnh thêm ()

rs. lệnh add() có cú pháp cơ bản như sau

mongo –host node-2 –port 27017
mongo –host node-3 –port 27017
5

Ví dụ

Giả sử mongod1. net là phiên bản mongod của bạn và nó đang lắng nghe trên cổng 27017. Sử dụng lệnh máy khách Mongo rs. add() để thêm phiên bản này vào bộ bản sao

mongo –host node-2 –port 27017
mongo –host node-3 –port 27017
6

Chỉ sau khi bạn được kết nối với nút chính, bạn mới có thể thêm phiên bản mongod vào bộ bản sao. Sử dụng lệnh máy khách mongo db. isMaster() để xem bạn có kết nối với chính hay không

Phần kết luận

Bài viết này hướng dẫn bạn cách thiết lập Bộ bản sao MongoDB một cách dễ dàng và trả lời tất cả các câu hỏi của bạn về nó. Nó cung cấp một giới thiệu ngắn gọn về các khái niệm khác nhau liên quan đến nó & giúp người dùng hiểu chúng tốt hơn và sử dụng chúng để thực hiện sao chép và phục hồi dữ liệu theo cách hiệu quả nhất có thể. Tuy nhiên, những phương pháp này có thể là một thách thức đặc biệt đối với người mới bắt đầu và đây là lúc Hevo tiết kiệm thời gian

truy cập trang web của chúng tôi để khám phá hevo

Hevo Data, Đường ống dữ liệu không mã có thể giúp bạn sao chép dữ liệu từ nhiều nguồn khác nhau đến đích mong muốn của bạn trong thời gian thực mà không cần phải viết bất kỳ mã nào. Nó cũng giúp bạn chuyển đổi và làm phong phú dữ liệu của mình, đồng thời làm cho dữ liệu sẵn sàng cho việc phân tích để bạn chỉ có thể tập trung vào các nhu cầu kinh doanh chính của mình và thực hiện phân tích chuyên sâu bằng các công cụ BI. Hevo là một hệ thống được quản lý hoàn toàn, cung cấp giải pháp tự động có tính bảo mật cao để giúp thực hiện sao chép chỉ bằng vài cú nhấp chuột bằng cách sử dụng giao diện người dùng tương tác của nó

Bạn muốn thử sức với Hevo? . Hãy xem mức giá cạnh tranh nhất của chúng tôi, điều đó sẽ giúp bạn chọn gói phù hợp với mình

Tại sao bạn không chia sẻ kinh nghiệm thiết lập Bộ bản sao MongoDB trong các nhận xét?

Làm cách nào để thêm nút vào bộ bản sao MongoDB?

Bắt đầu từ MongoDB 5. 0, các nút chỉ được định cấu hình bằng địa chỉ IP sẽ không xác thực khởi động và sẽ không khởi động. .
Bắt đầu phiên bản mongod mới. Chỉ định thư mục dữ liệu và tên bộ bản sao. .
Kết nối với bộ bản sao chính. .
Sử dụng rs. add() để thêm thành viên mới vào bộ bản sao

Làm cách nào để thiết lập bộ bản sao MongoDB?

Bây giờ, bạn có thể làm theo quy trình từng bước để thiết lập Bản sao trong MongoDB. .
Bản sao MongoDB Đặt cấu hình Bước 1. Thiết lập máy chủ
Bản sao MongoDB Đặt cấu hình Bước 2. Thiết lập tên máy chủ
Bước cấu hình thiết lập bản sao MongoDB 3. Tạo khóa
Bước cấu hình thiết lập bản sao MongoDB 4. Định cấu hình Bộ bản sao

Lệnh nào được sử dụng để bắt đầu một bộ bản sao mới?

initiate() để bắt đầu quá trình sao chép. Bây giờ Mongo Shell sẽ thay đổi lời nhắc của nó thành tên của Bộ bản sao của bạn, replicaSet1.

Việc sử dụng bộ bản sao trong MongoDB là gì?

Bộ bản sao trong MongoDB là một nhóm các quy trình mongod duy trì cùng một bộ dữ liệu. Bộ bản sao cung cấp khả năng dự phòng và tính sẵn sàng cao, đồng thời là cơ sở cho tất cả các triển khai sản xuất . Phần này giới thiệu về bản sao trong MongoDB cũng như các thành phần và kiến ​​trúc của bộ bản sao.