MongoDB có hỗ trợ phân cụm không?
Ở đây chúng tôi trình bày cách thiết lập cụm MongoDB. Trong bài trước chúng tôi đã hướng dẫn cách cài đặt nó trên một máy Show Có ba phần để cài đặt
Nhìn vào sơ đồ bên dưới, quá trình mongos chạy như một bộ định tuyến, nghĩa là nó cho khách hàng biết nơi tìm kiếm dữ liệu. Dữ liệu được trải rộng trên cụm dựa trên chia sẻ. Sharding là việc gán các bản ghi cho các máy chủ dựa trên giá trị băm của một số chỉ mục. Máy chủ cấu hình giữ thông tin cấu hình (Bài viết này là một phần của Hướng dẫn MongoDB của chúng tôi. Sử dụng menu bên phải để điều hướng. ) Cài đặt MongoDBVề mặt kỹ thuật, để tạo một MongoDB thành một cụm chỉ có nghĩa là ba lớp của kiến trúc MongoDB dưới dạng các quy trình riêng biệt. Bạn có thể làm điều này cho mục đích học tập trên một máy. Nhưng ở đây chúng tôi sử dụng hai Chúng tôi sẽ cài đặt bộ định tuyến và máy chủ cấu hình trên 172. 31. 46. 15 và máy chủ shard trên 172. 31. 47. 43. Để đơn giản, hãy gọi máy chủ đầu tiên là máy chủ cấu hình và máy chủ thứ hai là máy chủ cơ sở dữ liệu Không sử dụng apt-get để cài đặt MongoDB vì đó không phải là phiên bản hiện tại, thường. Thay vào đó hãy làm theo các bước dưới đây. Lưu ý rằng điều này cài đặt mongod (máy chủ cấu hình và shard), mongos (bộ định tuyến) và máy khách mongo dưới dạng ba gói riêng biệt Mở cổng tường lửa 27017, 27018 và 27019 giữa hai máy chủ Bạn cần cả ba gói trên máy chủ cấu hình nhưng chỉ mongodb-org-server trên máy chủ cơ sở dữ liệu. Trên Ubuntu, cài đặt chúng như thế này wget https://repo.mongodb.org/apt/ubuntu/dists/xenial/mongodb-org/4.0/multiverse/binary-amd64/mongodb-org-server_4.0.5_amd64.deb sudo dpkg -i mongodb-org-server_4.0.5_amd64.deb wget https://repo.mongodb.org/apt/ubuntu/dists/xenial/mongodb-org/4.0/multiverse/binary-amd64/mongodb-org-shell_4.0.5_amd64.deb sudo dpkg -i mongodb-org-shell_4.0.5_amd64.deb wget https://repo.mongodb.org/apt/ubuntu/dists/xenial/mongodb-org/4.0/multiverse/binary-amd64/mongodb-org-mongos_4.0.5_amd64.deb sudo dpkg -i mongodb-org-mongos_4.0.5_amd64.deb Lưu ý nếu làm lộn xộn bước nào thì remove server rồi xóa thư viện file data /var/lib/mongodb. Nếu bạn không xóa các tệp dữ liệu khi cài đặt lại phần mềm, nó sẽ giữ cấu hình trước đó và do đó khôi phục mọi lỗi bạn đã mắc phải Cấu hình máy chủĐăng nhập vào máy chủ cấu hình Để thiết lập cả ba máy chủ, chúng tôi sẽ lặp lại 4 bước tương tự trên mỗi máy chủ
Bây giờ, trên máy chủ cấu hình, hãy chỉnh sửa tệp cấu hình. Lưu ý để đơn giản, chúng tôi tạo cho mỗi tệp cấu hình có một tên mô tả sudo vim /etc/mongodConfig.conf Dán vào văn bản dưới đây. Đầu tiên, chúng tôi giải thích một số lĩnh vực path: /var/log/mongodb/mongodConfig.logĐối với mỗi quy trình, chúng tôi đặt tên cho nhật ký để làm rõ quy trình đó dành cho quy trình nào. port: 27019 bindIp: 172.31.46.15Theo mặc định, máy chủ cấu hình sẽ chạy trên cổng 2019 trong cấu hình cụm. Chúng tôi làm rõ điều đó ở đây để không cần phải nhớ rằng. Ngoài ra, địa chỉ IP là địa chỉ không lặp lại. Đó là để các máy chủ khác có thể tìm thấy máy chủ này. sharding: clusterRole: configsvrSharding có nghĩa là phân phối dữ liệu theo một số lược đồ băm. Ở đây chúng tôi nói với MongoDB rằng máy chủ này là máy chủ cấu hình, trái ngược với máy chủ chia sẻ. replication: replSetName: ConfigReplSetĐiều này có nghĩa là sao chép dữ liệu cấu hình này. Chúng tôi sử dụng rs. () có chức năng thêm các bản sao khác. Chúng ta có thể sử dụng bất kỳ tên nào Dán văn bản này vào /etc/mongodConfig. conf storage: dbPath: /var/lib/mongodb journal: enabled: true systemLog: destination: file logAppend: true path: /var/log/mongodb/mongodConfig.log net: port: 27019 bindIp: 172.31.46.15 sharding: clusterRole: configsvr replication: replSetName: ConfigReplSet bắt đầu quá trình sudo mongod --config /etc/mongodConfig.conf& Kiểm tra nhật ký để tìm lỗi Đăng nhập vào vỏ mongo 172.31.46.15:27019 Bật sao chép với rs. bắt đầu() và kiểm tra trạng thái với rs. trạng thái(). Lưu ý rằng đã chọn tên của bộ sao chép mà chúng tôi đã định cấu hình trong tệp cấu hình, ConfigReplSet sudo vim /etc/mongodConfig.conf0 Cấu hình bộ định tuyến truy vấnĐăng nhập vào máy chủ cấu hình. sudo vim /etc/mongodConfig.conf1 Dán vào văn bản dưới đây. Lưu ý sudo vim /etc/mongodConfig.conf2Điều này cho bộ định tuyến truy vấn biết nơi tìm máy chủ cấu hình và bộ bản sao của chúng. sudo vim /etc/mongodConfig.conf3 Bắt đầu dịch vụ. Lưu ý s trong mongos. Đây là quá trình bộ định tuyến truy vấn sudo vim /etc/mongodConfig.conf4 Kiểm tra nhật ký và tìm lỗi sudo vim /etc/mongodConfig.conf5 Định cấu hình phân đoạnĐăng nhập vào máy chủ cơ sở dữ liệu sudo vim /etc/mongodConfig.conf6 Dán vào văn bản dưới đây. Thông báo rằng sudo vim /etc/mongodConfig.conf7Có nghĩa đây sẽ là máy chủ phân đoạn, trái ngược với máy chủ cấu hình. sudo vim /etc/mongodConfig.conf8Điều này có nghĩa là sao chép dữ liệu. Trong máy chủ cấu hình, chúng tôi đã yêu cầu nó sao chép cấu hình. sudo vim /etc/mongodConfig.conf9Theo mặc định, máy chủ shard chạy trên cổng 27018. Vì vậy, chúng tôi làm rõ điều đó để chúng tôi không phải nhớ điều đó. path: /var/log/mongodb/mongodConfig.log0 bắt đầu quá trình path: /var/log/mongodb/mongodConfig.log1 Kiểm tra nhật ký để tìm lỗi path: /var/log/mongodb/mongodConfig.log2 Đăng nhập vào vỏ path: /var/log/mongodb/mongodConfig.log3 Bật sao chép với rs. started() và sau đó kiểm tra trạng thái bằng rs. trạng thái(). Lưu ý tên ShardReplSet. Chúng tôi có thể sử dụng bất kỳ tên nào miễn là chúng tôi sử dụng cùng một tên trên tất cả các phân đoạn trong cụm path: /var/log/mongodb/mongodConfig.log4 Thêm phân đoạn vào cụmQuay lại máy chủ cấu hình và kết nối với bộ định tuyến sudo vim /etc/mongodConfig.conf5 Dán tất cả các lệnh sau vào trình bao path: /var/log/mongodb/mongodConfig.log6 Tạo một cơ sở dữ liệu có tên sách sau đó kích hoạt sharding path: /var/log/mongodb/mongodConfig.log7 Tạo một bộ sưu tập path: /var/log/mongodb/mongodConfig.log8 Tạo một chỉ mục. Chúng tôi sẽ lập chỉ mục trường isbn theo thứ tự giảm dần path: /var/log/mongodb/mongodConfig.log9 Thêm một bản ghi port: 27019 bindIp: 172.31.46.150 Bật sharding cho bộ sưu tập port: 27019 bindIp: 172.31.46.151 Bây giờ hãy xác minh rằng dữ liệu được phân phối trên toàn cụm như hình bên dưới. Tất nhiên chúng tôi chỉ có một máy chủ cơ sở dữ liệu, vì vậy nó chỉ hiển thị một. Trong một bài đăng trên blog khác, chúng tôi sẽ chỉ cho bạn cách thêm nhiều máy chủ hơn Làm cách nào để tạo một cụm trong MongoDB?Để tạo cụm, bạn cần có tài khoản MongoDB Atlas. . Bấm vào nút “Tạo” Chọn loại cụm của bạn (chuyên dụng, không có máy chủ, dùng chung) Chọn nhà cung cấp đám mây và khu vực của bạn Nhấp vào “Tạo cụm. ” Cụm MongoDB có miễn phí không?Bạn có thể đã biết rằng MongoDB Atlas là MongoDB dưới dạng dịch vụ trên đám mây công cộng do bạn chọn nhưng bạn có biết chúng tôi cũng cung cấp một cụm miễn phí mãi mãi? In this Quick Start, we'll show you why you should get one and how to create one.
MongoDB có chỉ mục cụm không?Bắt đầu từ MongoDB 5. 3, bạn có thể tạo bộ sưu tập có chỉ mục được nhóm . Các bộ sưu tập được tạo bằng chỉ mục nhóm được gọi là các bộ sưu tập được nhóm.
Tôi có thể có bao nhiêu cụm trong MongoDB?Trong MongoDB, bạn có thể có hai loại cụm khác nhau cho cơ sở dữ liệu. nó có thể là bộ bản sao hoặc sharding. |