Hướng dẫn mongodb sharding config - cấu hình sharding mongodb

Tài liệu về nhà → Hướng dẫn sử dụng MongoDBMongoDB Manual

Hướng dẫn này liên quan đến việc tạo ra một cụm Sharded mới bao gồm mongos, bộ bản sao máy chủ config và hai bộ bản sao Shard.

Mỗi thành viên của một cụm Sharded phải có khả năng kết nối với tất cả các thành viên khác trong cụm. Điều này bao gồm tất cả các mảnh vỡ và máy chủ cấu hình. Đảm bảo rằng các hệ thống mạng và bảo mật, bao gồm tất cả giao diện và tường lửa, cho phép các kết nối này.

Quan trọng

Để tránh các bản cập nhật cấu hình do thay đổi địa chỉ IP, hãy sử dụng tên máy chủ DNS thay vì địa chỉ IP. Điều đặc biệt quan trọng là sử dụng tên máy chủ DNS thay vì địa chỉ IP khi định cấu hình các thành viên đặt bản sao hoặc các thành viên cụm bị chia cắt.

Sử dụng tên máy chủ thay vì địa chỉ IP để định cấu hình các cụm trên đường chân trời mạng chia. Bắt đầu từ MongoDB 5.0, các nút chỉ được cấu hình với địa chỉ IP sẽ không xác thực khởi động và sẽ không bắt đầu.

Nếu bạn sử dụng localhost hoặc địa chỉ IP của nó làm phần tên máy chủ của bất kỳ định danh máy chủ nào, bạn phải sử dụng mã định danh đó làm cài đặt máy chủ cho bất kỳ thành phần MongoDB nào khác trong cụm.

Ví dụ: phương thức sh.addShard() lấy tham số

mongosh --host --port

0 cho tên máy chủ của mảnh vỡ đích. Nếu bạn đặt

mongosh --host --port

0 thành localhost, thì bạn phải sử dụng localhost làm máy chủ cho tất cả các mảnh khác trong cụm.

Hướng dẫn này không bao gồm các bước cần thiết để định cấu hình xác thực nội bộ/thành viên hoặc kiểm soát truy cập dựa trên vai trò.

Trong môi trường sản xuất, các cụm Sharded nên sử dụng ở mức tối thiểu X.509 bảo mật để xác thực nội bộ và truy cập khách hàng.

Các bước sau đây triển khai một bộ bản sao cấu hình.

Để triển khai sản xuất, hãy triển khai một bản sao máy chủ cấu hình với ít nhất ba thành viên. Đối với mục đích thử nghiệm, bạn có thể tạo một bộ bản sao một thành viên.

Ghi chú

Bộ bản sao máy chủ config không được sử dụng cùng tên với bất kỳ bộ bản sao Shard nào.

Đối với hướng dẫn này, các thành viên tập hợp bản sao cấu hình được liên kết với các máy chủ sau:

Config Server Replica Đặt thành viên

Tên máy chủ

Thành viên 0

mongosh --host --port

4

Thành viên 1

mongosh --host --port

5

Thành viên 2

mongosh --host --port

6

Khi bắt đầu mỗi

mongosh --host --port

7, chỉ định cài đặt

mongosh --host --port

7 thông qua tệp cấu hình hoặc dòng lệnh.

Kết nối

mongosh --host --port

9 với một trong các thành viên máy chủ config.

mongosh --host --port

9
to one of the config server members.

mongosh --host --port

Khi bộ sao chép cấu hình được đặt (CSRS) được bắt đầu và lên, hãy tiến hành tạo các bộ bản sao Shard.

Để triển khai sản xuất, hãy sử dụng một bộ bản sao với ít nhất ba thành viên. Đối với mục đích thử nghiệm, bạn có thể tạo một bộ bản sao một thành viên.

Ghi chú

Bộ bản sao máy chủ config không được sử dụng cùng tên với bất kỳ bộ bản sao Shard nào.

Đối với hướng dẫn này, các thành viên tập hợp bản sao cấu hình được liên kết với các máy chủ sau:

Khi bắt đầu mỗi

mongosh --host --port

7, chỉ định cài đặt

mongosh --host --port

7 thông qua tệp cấu hình hoặc dòng lệnh.

Kết nối

mongosh --host --port

9 với một trong các thành viên máy chủ config.

mongosh --host --port

9
to one of the replica set members.

mongosh --host --port

Khi bộ sao chép cấu hình được đặt (CSRS) được bắt đầu và lên, hãy tiến hành tạo các bộ bản sao Shard.

Để triển khai sản xuất, hãy sử dụng một bộ bản sao với ít nhất ba thành viên. Đối với mục đích thử nghiệm, bạn có thể tạo một bộ bản sao một thành viên.

mongosh --host --port

9

Các bộ bản sao Shard không được sử dụng cùng tên với bộ bản sao cấu hình.

mongosh --host --port

9 to the mongos. Specify the

mongosh --host --port

0 and

mongosh --host --port

9 on which the mongos is running:

mongosh --host --port

Đối với mỗi shard, hãy sử dụng các bước sau để tạo bộ sao chép Shard:

mongosh --host --port

9 to the mongos, continue to the next procedure to add shards to the cluster.

Kết nối

mongosh --host --port

9 với một trong những thành viên bộ bản sao.

mongosh --host --port

9
session that is connected to the mongos, use the sh.addShard() method to add each shard to the cluster.

Bắt đầu mongos bằng cách sử dụng tệp cấu hình hoặc tham số dòng lệnh để chỉ định các máy chủ cấu hình.

sh.addShard( "/s1-mongo1.example.net:27018,s1-mongo2.example.net:27018,s1-mongo3.example.net:27018")

Tại thời điểm này, cụm Sharded của bạn bao gồm các máy chủ mongos và cấu hình. Bây giờ bạn có thể kết nối với cụm Sharded bằng cách sử dụng

mongosh --host --port

9

Kết nối

mongosh --host --port

9 với mongos. Chỉ định

mongosh --host --port

0 và

mongosh --host --port

9 mà mongos đang chạy:

Khi bạn đã kết nối

mongosh --host --port

9 với mongos, hãy tiếp tục thủ tục tiếp theo để thêm mảnh vỡ vào cụm.

mongosh --host --port

9
session that is connected to the mongos, use the

sh.addShard( "/s1-mongo1.example.net:27018,s1-mongo2.example.net:27018,s1-mongo3.example.net:27018")

8 method to enable sharding on the target database. Enabling sharding on a database makes it possible to shard collections within a database.

sh.enableSharding("")

Trong phiên

mongosh --host --port

9 được kết nối với mongos, hãy sử dụng phương thức sh.addShard() để thêm mỗi mảnh vỡ vào cụm.

Quan trọng

Hoạt động sau đây thêm một bản sao Shard duy nhất được đặt vào cụm:enable sharding for the database where the collection resides.

Lặp lại các bước này cho đến khi cụm bao gồm tất cả các mảnh vỡ mong muốn.

mongosh --host --port

9 to the mongos and use the

sh.enableSharding("")

1 method.

Ghi chú

Bộ bản sao máy chủ config không được sử dụng cùng tên với bất kỳ bộ bản sao Shard nào.

Đối với hướng dẫn này, các thành viên tập hợp bản sao cấu hình được liên kết với các máy chủ sau:

MongoDB cung cấp hai chiến lược cho Bộ sưu tập Shard:

  • Hashed Sharding sử dụng một chỉ số băm của một trường duy nhất làm phím Shard để dữ liệu phân vùng trên cụm Sharded của bạn.

    sh.shardCollection(".", { <shard key field> : "hashed" } )

  • Sharding dựa trên phạm vi có thể sử dụng nhiều trường làm khóa Shard và chia dữ liệu thành các phạm vi tiếp giáp được xác định bởi các giá trị khóa của Shard.

    sh.shardCollection(".", { <shard key field> : 1, ... } )

Lựa chọn khóa Shard của bạn ảnh hưởng đến hiệu quả của Sharding, cũng như khả năng của bạn để tận dụng một số tính năng Sharding nhất định như khu vực.Để tìm hiểu cách chọn khóa Shard hiệu quả, hãy xem Chọn Khóa Shard.

Bắt đầu từ phiên bản 4.0,

mongosh --host --port

9 cung cấp phương thức

sh.enableSharding("")

4.Phương pháp này sử dụng hàm băm giống như chỉ số băm và có thể được sử dụng để xem giá trị băm sẽ là gì cho một khóa.

mongosh --host --port

9
provides the method

sh.enableSharding("")

4. This method uses the same hashing function as the hashed index and can be used to see what the hashed value would be for a key.