Mẹo Triển khai cơ sở dữ liệu mongodb
Mẹo Hướng dẫn Triển khai cơ sở tài liệu mongodb 2022
Cao Thị Xuân Dung đang tìm kiếm từ khóa Triển khai cơ sở tài liệu mongodb được Cập Nhật vào lúc : 2022-12-19 01:26:04 . Với phương châm chia sẻ Mẹo về trong nội dung bài viết một cách Chi Tiết 2022. Nếu sau khi Read nội dung bài viết vẫn ko hiểu thì hoàn toàn có thể lại phản hồi ở cuối bài để Tác giả lý giải và hướng dẫn lại nha.Như những bạn đã biết, mongodb là một nền tảng không còn quan hệ rất nổi tiếng (NoSQL). Thay vì sử dụng những bảng có thuộc tính cố định và thắt chặt, mongodb tàng trữ tài liệu dưới dạng tài liệu, dạng khóa-giá trị, mongodb cũng tương hỗ tỷ lệ ngang khi prod lớn lên. Trong bài này mình sẽ hướng dẫn những bạn setup cluster theo phong cách mi ăn liền
Nội dung chính Show- Chuẩn bịBƯỚC 1. CẤU HÌNH CÀI ĐẶT MÁY CHỦBƯỚC 2. CÁI ĐẶT QUERY ROUTERBƯỚC 3. THÊM SHARD VÀO MÁY CHỦ
Thao tác với MongoDB trong những ứng dụng Java
Xây dựng cụm cơ sở tài liệu bằng MongoDB ( Xây dựng cụm cơ sở tài liệu với MongoDB )
Trước khi khởi đầu, những bạn hãy nhìn qua hình dưới đây là cách mà mongo cluster hoạt động và sinh hoạt giải trí
Nhìn vào hình trên cụm gồm có 3 phần chính
- mảnh vỡ. Mỗi phân đoạn chứa biến thể một tập tin nhỏ tài liệu đã được phân đoạn, từ phiên bản 3. 6 trở lên, những phân đoạn phải được thông số kỹ thuật để chạy bản sao nếu muốn trở thành một phần của cụmcầy mangut. Đây thực chất là một bộ định tuyến truy vấn, đáp ứng một giao diện tương tác giữa ứng dụng và những cụm phân đoạnmáy chủ thông số kỹ thuật. Máy chủ thông số kỹ thuật chứa biến siêu tài liệu và thông số kỹ thuật cho cụm, từ phiên bản 3. 4 trở lên sever thông số kỹ thuật phải triển khai bản sao định dạng dưới đây
Chuẩn bị
Dễ những đặc điểm tất cả chúng ta nên phải sẵn sàng sẵn sàng đủ ba phần của cụm,gồm có 2 sever thông số kỹ thuật, 1 sever bộ định tuyến truy vấn và . Đối với shard mình sẽ sử dụng 2 server chạy replicaset, tuy nhiên hoàn toàn có thể sử dụng docker để nén lại nhưng làm như vậy sẽ mất tổng quan và mất tài liệu.
Trước khi khởi đầu, tất cả chúng ta phải sẵn sàng sẵn sàng mongo-keyfile. Mongo keyfile thứ giúp những sever xác định là chúng nó là gà cùng một mẹ. Mình sẽ chỉ xác thực bằng mongo-keyfile để cho nó đơn giản, nếu những bạn muốn xác thực bằng cả tên người tiêu dùng và mật khẩu thì trên 2 con server config, và 2 con server để tạo 1 shard những bạn sử dụng mongo shell để tạo username và password cho . Trên cả 4 con server mà bạn chạy những lệnh sau
mongo # lệnh trên dùng mongo shell để link tới server, vì lúc đầu chưa # có username hay password gì cả nên bạn sẽ vào đượcuse admin # lệnh trên dùng database admin,để tàng trữ những user mà ta sẽ tạo # phía saudb.createUser(user: "mongo-admin", pwd: "123", roles:[role: "root", db: "admin"]) # lệnh trên tạo ra một user có username là "mongo-admin" và password # là "123" trên và có vai trò là root của database mang tên là adminTo create key file you use command
# 2 config server mình sẽ gán nó là conf1:27017 và conf2:27017 - 100.100.100.101:27017 - 100.100.100.102:27017 # 1 con router server mình sẽ gán nó à router:27017 - 200.200.200.200:27017 # 2 con server để tạo ra một con shard chạy replicaset mình sẽ gán luôn là shard1 - 300.300.300.301:27017 - 300.300.300.302:270171Sau khi tạo keyfile, hãy sao chép chúng lên trên cả 5 sever, đặt trong
# 2 config server mình sẽ gán nó là conf1:27017 và conf2:27017 - 100.100.100.101:27017 - 100.100.100.102:27017 # 1 con router server mình sẽ gán nó à router:27017 - 200.200.200.200:27017 # 2 con server để tạo ra một con shard chạy replicaset mình sẽ gán luôn là shard1 - 300.300.300.301:27017 - 300.300.300.302:270172 và phân quyền cho tệp đó, chỉ phân quyền cho tệp đó# sudo mkdir /opt/mongo # tạo thư mục nếu chưa tồn tại# sudo mv ~/mongo-keyfile /opt/mongo # nếu bạn dùng SSH để copy thì nhớ copy vào /opt/mongo # lệnh phía dưới chmod 400 set quyền chỉ đọc cho những người dân sở hữu còn sót lại # thì không còn quyền hạn gì cả sudo chmod 400 /opt/mongo/mongo-keyfile# lệnh dưới gán quyền sở hữu cho mongodb, kết phù phù hợp với lệnh trên thì chỉ có mongodb mới có quyền đọc( ngoại lệ đối với root, root là full quyền) sudo chown mongodb:mongodb /opt/mongo/mongo-keyfileĐể cho đơn giản của tớ giả sử bạn có 5 sever có ip và cổng mở như phía dưới. Chúng đều hoàn toàn có thể link với nhau
# 2 config server mình sẽ gán nó là conf1:27017 và conf2:27017 - 100.100.100.101:27017 - 100.100.100.102:27017 # 1 con router server mình sẽ gán nó à router:27017 - 200.200.200.200:27017 # 2 con server để tạo ra một con shard chạy replicaset mình sẽ gán luôn là shard1 - 300.300.300.301:27017 - 300.300.300.302:27017Sau đó khởi đầu, tất cả chúng ta sẽ khởi đầu thiết lập thông số kỹ thuật sever chạy replicatSet trước
BƯỚC 1. CẤU HÌNH CÀI ĐẶT MÁY CHỦ
Chui vào cả hai sever thông số kỹ thuật. Edit file nội dung /etc/mongod. conf back sao cho đúng, cho nó bindIp đúng với ip của nó và trường tương hỗ update xác thực nhau bằng mongo-keyfile ,
# 2 config server mình sẽ gán nó là conf1:27017 và conf2:27017 - 100.100.100.101:27017 - 100.100.100.102:27017 # 1 con router server mình sẽ gán nó à router:27017 - 200.200.200.200:27017 # 2 con server để tạo ra một con shard chạy replicaset mình sẽ gán luôn là shard1 - 300.300.300.301:27017 - 300.300.300.302:270173 và trong tệp đó. Ngoài ra thêm # 2 config server mình sẽ gán nó là conf1:27017 và conf2:27017 - 100.100.100.101:27017 - 100.100.100.102:27017 # 1 con router server mình sẽ gán nó à router:27017 - 200.200.200.200:27017 # 2 con server để tạo ra một con shard chạy replicaset mình sẽ gán luôn là shard1 - 300.300.300.301:27017 - 300.300.300.302:270174 cho tất cả hai sever, tệp nội dung có thêm một số trong những trường như phía dưới. Bảo đảm là những bạn đã thực hiện trên hai sever conf1 và conf2port: 27017 bindIp: 100.100.100.101security: authorization: enabled keyFile: /opt/mongo/mongo-keyfilereplication: replSetName: configReplSetsharding: clusterRole: "configsvr"Sau đó bạn hãy khởi đầu mongod trên 2 sever thông số kỹ thuật
________số 8Sau đó used to connect to 1 in two con config server, to connect 2 con back with nhau
mongo 100.100.100.101:27017 -u mongo-admin -p 123 --authenticationDatabase adminMongo shell from you run next command after
# 2 config server mình sẽ gán nó là conf1:27017 và conf2:27017 - 100.100.100.101:27017 - 100.100.100.102:27017 # 1 con router server mình sẽ gán nó à router:27017 - 200.200.200.200:27017 # 2 con server để tạo ra một con shard chạy replicaset mình sẽ gán luôn là shard1 - 300.300.300.301:27017 - 300.300.300.302:270170Nếu bạn làm đúng như vậy thì sẽ nhận được một thông báo phía dưới báo hiệu 2 sever thông số kỹ thuật của tất cả chúng ta đã có sẵn để chạy replicaSet
# 2 config server mình sẽ gán nó là conf1:27017 và conf2:27017 - 100.100.100.101:27017 - 100.100.100.102:27017 # 1 con router server mình sẽ gán nó à router:27017 - 200.200.200.200:27017 # 2 con server để tạo ra một con shard chạy replicaset mình sẽ gán luôn là shard1 - 300.300.300.301:27017 - 300.300.300.302:270171To check status of 2 con server you run command
# 2 config server mình sẽ gán nó là conf1:27017 và conf2:27017 - 100.100.100.101:27017 - 100.100.100.102:27017 # 1 con router server mình sẽ gán nó à router:27017 - 200.200.200.200:27017 # 2 con server để tạo ra một con shard chạy replicaset mình sẽ gán luôn là shard1 - 300.300.300.301:27017 - 300.300.300.302:270172Nếu kết quả như phía dưới, chúng tôi chúc mừng bạn đã thiết lập thành công sever thông số kỹ thuật
# 2 config server mình sẽ gán nó là conf1:27017 và conf2:27017 - 100.100.100.101:27017 - 100.100.100.102:27017 # 1 con router server mình sẽ gán nó à router:27017 - 200.200.200.200:27017 # 2 con server để tạo ra một con shard chạy replicaset mình sẽ gán luôn là shard1 - 300.300.300.301:27017 - 300.300.300.302:270173BƯỚC 2. CÁI ĐẶT QUERY ROUTER
Trong bước này, tất cả chúng ta sẽ setup bộ định tuyến truy vấn MongoDB, nó sẽ thu thập thông tin siêu tài liệu từ những sever thông số kỹ thuật, lưu vào bộ nhớ cache và ứng dụng để gửi những yêu cầu đã đọc đến những phân đoạn đúng chuẩn. Bộ định tuyến truy vấn setup thực chất đang chạy một tiến trình
# 2 config server mình sẽ gán nó là conf1:27017 và conf2:27017 - 100.100.100.101:27017 - 100.100.100.102:27017 # 1 con router server mình sẽ gán nó à router:27017 - 200.200.200.200:27017 # 2 con server để tạo ra một con shard chạy replicaset mình sẽ gán luôn là shard1 - 300.300.300.301:27017 - 300.300.300.302:270175 ta hoàn toàn có thể đăng ký nó như một dịch vụ systemd. Nhưng trước hết phải tạo file config cho mongos , file config cho mongos đặt ở # 2 config server mình sẽ gán nó là conf1:27017 và conf2:27017 - 100.100.100.101:27017 - 100.100.100.102:27017 # 1 con router server mình sẽ gán nó à router:27017 - 200.200.200.200:27017 # 2 con server để tạo ra một con shard chạy replicaset mình sẽ gán luôn là shard1 - 300.300.300.301:27017 - 300.300.300.302:270176# sudo mkdir /opt/mongo # tạo thư mục nếu chưa tồn tại# sudo mv ~/mongo-keyfile /opt/mongo # nếu bạn dùng SSH để copy thì nhớ copy vào /opt/mongo # lệnh phía dưới chmod 400 set quyền chỉ đọc cho những người dân sở hữu còn sót lại # thì không còn quyền hạn gì cả sudo chmod 400 /opt/mongo/mongo-keyfile# lệnh dưới gán quyền sở hữu cho mongodb, kết phù phù hợp với lệnh trên thì chỉ có mongodb mới có quyền đọc( ngoại lệ đối với root, root là full quyền) sudo chown mongodb:mongodb /opt/mongo/mongo-keyfile0Sau đó ta sẽ đăng ký
# 2 config server mình sẽ gán nó là conf1:27017 và conf2:27017 - 100.100.100.101:27017 - 100.100.100.102:27017 # 1 con router server mình sẽ gán nó à router:27017 - 200.200.200.200:27017 # 2 con server để tạo ra một con shard chạy replicaset mình sẽ gán luôn là shard1 - 300.300.300.301:27017 - 300.300.300.302:270175 với systemd. Tạo tệp # 2 config server mình sẽ gán nó là conf1:27017 và conf2:27017 - 100.100.100.101:27017 - 100.100.100.102:27017 # 1 con router server mình sẽ gán nó à router:27017 - 200.200.200.200:27017 # 2 con server để tạo ra một con shard chạy replicaset mình sẽ gán luôn là shard1 - 300.300.300.301:27017 - 300.300.300.302:270178 với nội dung như phía dưới# sudo mkdir /opt/mongo # tạo thư mục nếu chưa tồn tại# sudo mv ~/mongo-keyfile /opt/mongo # nếu bạn dùng SSH để copy thì nhớ copy vào /opt/mongo # lệnh phía dưới chmod 400 set quyền chỉ đọc cho những người dân sở hữu còn sót lại # thì không còn quyền hạn gì cả sudo chmod 400 /opt/mongo/mongo-keyfile# lệnh dưới gán quyền sở hữu cho mongodb, kết phù phù hợp với lệnh trên thì chỉ có mongodb mới có quyền đọc( ngoại lệ đối với root, root là full quyền) sudo chown mongodb:mongodb /opt/mongo/mongo-keyfile1Để mongos chạy thì phải tắt phải mongod tránh trường hợp tài liệu confic, sau khi tắt thì phải bật dịch vụ mongos đó và khởi động nó. Tiếp theo là kiểm tra trạng thái của mongos
# sudo mkdir /opt/mongo # tạo thư mục nếu chưa tồn tại# sudo mv ~/mongo-keyfile /opt/mongo # nếu bạn dùng SSH để copy thì nhớ copy vào /opt/mongo # lệnh phía dưới chmod 400 set quyền chỉ đọc cho những người dân sở hữu còn sót lại # thì không còn quyền hạn gì cả sudo chmod 400 /opt/mongo/mongo-keyfile# lệnh dưới gán quyền sở hữu cho mongodb, kết phù phù hợp với lệnh trên thì chỉ có mongodb mới có quyền đọc( ngoại lệ đối với root, root là full quyền) sudo chown mongodb:mongodb /opt/mongo/mongo-keyfile2Nếu bạn làm đúng như trên thì đầu ra sẽ tương tự như phía dưới
# sudo mkdir /opt/mongo # tạo thư mục nếu chưa tồn tại# sudo mv ~/mongo-keyfile /opt/mongo # nếu bạn dùng SSH để copy thì nhớ copy vào /opt/mongo # lệnh phía dưới chmod 400 set quyền chỉ đọc cho những người dân sở hữu còn sót lại # thì không còn quyền hạn gì cả sudo chmod 400 /opt/mongo/mongo-keyfile# lệnh dưới gán quyền sở hữu cho mongodb, kết phù phù hợp với lệnh trên thì chỉ có mongodb mới có quyền đọc( ngoại lệ đối với root, root là full quyền) sudo chown mongodb:mongodb /opt/mongo/mongo-keyfile3Vì vậy, bạn đã thiết lập thành công
# 2 config server mình sẽ gán nó là conf1:27017 và conf2:27017 - 100.100.100.101:27017 - 100.100.100.102:27017 # 1 con router server mình sẽ gán nó à router:27017 - 200.200.200.200:27017 # 2 con server để tạo ra một con shard chạy replicaset mình sẽ gán luôn là shard1 - 300.300.300.301:27017 - 300.300.300.302:270179Tìm việc mê hoặc cơ sở tài liệu tại TopDev
Tìm việc MongoDB lương cao cho bạn
BƯỚC 3. THÊM SHARD VÀO MÁY CHỦ
Trước khi add shard vào server thì những bân hãy setup 2 con server còn sót lại để chúng nó chạy replicaSet với nhau. Setup giống hoàn toàn so với config server only are in file config. Thay vì vai trò của nó là config server thì vai trò của nó là “shardsvr” còn tên replicaSet thì để nguyên cũng khá được, không thì những bạn đổi tùy chọn nhé. Còn IP thì những bạn bind cho đúng
- 300. 300. 300. 301300. 300. 300. 302
Sau khi setup xong 2 con server chạy replicaSet thì mình sẽ tiến hành đưa nó vào shard
Từ một trong hai sever vừa thiết lập mới đó (hoặc ở đâu cũng khá được), bạn hãy link đến bộ định tuyến truy vấn
# sudo mkdir /opt/mongo # tạo thư mục nếu chưa tồn tại# sudo mv ~/mongo-keyfile /opt/mongo # nếu bạn dùng SSH để copy thì nhớ copy vào /opt/mongo # lệnh phía dưới chmod 400 set quyền chỉ đọc cho những người dân sở hữu còn sót lại # thì không còn quyền hạn gì cả sudo chmod 400 /opt/mongo/mongo-keyfile# lệnh dưới gán quyền sở hữu cho mongodb, kết phù phù hợp với lệnh trên thì chỉ có mongodb mới có quyền đọc( ngoại lệ đối với root, root là full quyền) sudo chown mongodb:mongodb /opt/mongo/mongo-keyfile5Sau khi link thành công, những bạn chạy lệnh sau để thêm shard tất cả chúng ta vừa mới tạo ra để đưa nó vào cụm. Giả sử sử dụng lúc những bạn setup shard chạy replicaSet với tên là rs999
# sudo mkdir /opt/mongo # tạo thư mục nếu chưa tồn tại# sudo mv ~/mongo-keyfile /opt/mongo # nếu bạn dùng SSH để copy thì nhớ copy vào /opt/mongo # lệnh phía dưới chmod 400 set quyền chỉ đọc cho những người dân sở hữu còn sót lại # thì không còn quyền hạn gì cả sudo chmod 400 /opt/mongo/mongo-keyfile# lệnh dưới gán quyền sở hữu cho mongodb, kết phù phù hợp với lệnh trên thì chỉ có mongodb mới có quyền đọc( ngoại lệ đối với root, root là full quyền) sudo chown mongodb:mongodb /opt/mongo/mongo-keyfile6Tại thời điểm này, những bạn đã thiết lập thành công cụm. Để kiểm tra xem liệu nó có hoạt động và sinh hoạt giải trí hay là không, những bạn hãy link từ máy của tớ tới sever bộ định tuyến truy vấn
Nếu link được, chúng tôi sẽ thử kích hoạt tính năng sharding ở tầng cơ sở tài liệu
# sudo mkdir /opt/mongo # tạo thư mục nếu chưa tồn tại# sudo mv ~/mongo-keyfile /opt/mongo # nếu bạn dùng SSH để copy thì nhớ copy vào /opt/mongo # lệnh phía dưới chmod 400 set quyền chỉ đọc cho những người dân sở hữu còn sót lại # thì không còn quyền hạn gì cả sudo chmod 400 /opt/mongo/mongo-keyfile# lệnh dưới gán quyền sở hữu cho mongodb, kết phù phù hợp với lệnh trên thì chỉ có mongodb mới có quyền đọc( ngoại lệ đối với root, root là full quyền) sudo chown mongodb:mongodb /opt/mongo/mongo-keyfile7Sau đó từ mongo shell, mình sẽ tạo một cơ sở tài liệu mang tên là demo và kích hoạt sharding trên cơ sở tài liệu demo
# sudo mkdir /opt/mongo # tạo thư mục nếu chưa tồn tại# sudo mv ~/mongo-keyfile /opt/mongo # nếu bạn dùng SSH để copy thì nhớ copy vào /opt/mongo # lệnh phía dưới chmod 400 set quyền chỉ đọc cho những người dân sở hữu còn sót lại # thì không còn quyền hạn gì cả sudo chmod 400 /opt/mongo/mongo-keyfile# lệnh dưới gán quyền sở hữu cho mongodb, kết phù phù hợp với lệnh trên thì chỉ có mongodb mới có quyền đọc( ngoại lệ đối với root, root là full quyền) sudo chown mongodb:mongodb /opt/mongo/mongo-keyfile8Để kiểm tra rằng việc làm sharding đã thành công mình chuyển qua thông số kỹ thuật cơ sở tài liệu, nơi chứa thông tin của khối mạng lưới hệ thống
# sudo mkdir /opt/mongo # tạo thư mục nếu chưa tồn tại# sudo mv ~/mongo-keyfile /opt/mongo # nếu bạn dùng SSH để copy thì nhớ copy vào /opt/mongo # lệnh phía dưới chmod 400 set quyền chỉ đọc cho những người dân sở hữu còn sót lại # thì không còn quyền hạn gì cả sudo chmod 400 /opt/mongo/mongo-keyfile# lệnh dưới gán quyền sở hữu cho mongodb, kết phù phù hợp với lệnh trên thì chỉ có mongodb mới có quyền đọc( ngoại lệ đối với root, root là full quyền) sudo chown mongodb:mongodb /opt/mongo/mongo-keyfile9Nếu kết quả trả về như phía dưới thì chúc mừng bạn đã thành công
# 2 config server mình sẽ gán nó là conf1:27017 và conf2:27017 - 100.100.100.101:27017 - 100.100.100.102:27017 # 1 con router server mình sẽ gán nó à router:27017 - 200.200.200.200:27017 # 2 con server để tạo ra một con shard chạy replicaset mình sẽ gán luôn là shard1 - 300.300.300.301:27017 - 300.300.300.302:270170Các bạn hãy thử tạo một số trong những tài liệu để thực hiện những thao tác tìm, update, xóa cụm xem của tất cả chúng ta hoạt động và sinh hoạt giải trí ổn định nhé. Còn về phần mình, đã khuya rồi mình xin đừng viết đây, sáng mai còn phải đi về chợ phơi hàng ra bán nữa. v
Trong tương lai, mình sẽ tìm hiểu những kỹ thuật sharding và kỳ vọng sẽ có nhưng điều thú vị để viết về và chia sẻ, cảm ơn những bạn đã đọc nội dung bài viết
Tải thêm tài liệu liên quan đến nội dung bài viết Triển khai cơ sở tài liệu mongodb programming mongodb
Post a Comment