Cập nhật ngày 14/2/19: Nội dung của bài đăng này đã được cập nhật để cài đặt MongoDB v4.0: the contents of this post has been updated to install MongoDB v4.0
Tôi thấy mình đang đào xung quanh Google liên tục để tìm câu trả lời về cách thiết lập một hộp MongoDB trên AWS EC2 với xác thực và bộ bản sao. Không có câu trả lời rõ ràng hoặc thẳng thắn về cách hoàn thành. Vì vậy, tôi muốn chia sẻ với bạn những gì tôi đã nghĩ ra để thiết lập một hộp MongoDB trên AWS EC2.
Trước khi chúng tôi bắt đầu, bạn nên có kiến thức cơ bản về VIM và khởi chạy phiên bản EC2 thông qua bảng điều khiển AWS.
Khởi chạy phiên bản EC2
Thiết lập thể hiện EC2
- Chọn Amazon Linux 2 Ami
- Chọn loại ví dụ mong muốn
- Định cấu hình thể hiện với VPC, mạng con, ETClaunch 3 thích hợp nếu bạn muốn thiết lập bộ bản sao. Thêm chi tiết sau đây.
Launch 3 instances if you’d like to setup replica set. More details follows. - Quan trọng: Thêm ba tập EBS bổ sung để thiết lập hệ thống tệp chính xác cho MongoDB- Thiết bị:
sudo yum -y install mongodb-org
1, Kích thước: X GB [đặt kích thước mong muốn] [Đối với dữ liệu]- Thiết bị:sudo yum -y install mongodb-org
2, Kích thước: X GB [đặt kích thước mong muốn] [Đối với tạp chí ]- Thiết bị:sudo yum -y install mongodb-org
3, Kích thước: X GB [đặt kích thước mong muốn] [Đối với nhật ký] khuyến nghị rằng tạp chí là 1/5 kích thước dữ liệu và nhật ký là 1/2 kích thước tạp chí. Bạn luôn có thể tăng kích thước EBS sau này khi cần thiết nhưng giảm. Đặt phần còn lại trong mặc định hoặc theo nhu cầu của bạn. Add three additional EBS volumes to setup the correct file system for MongoDB
- Device:sudo yum -y install mongodb-org
1, Size: x GB [put desired size] [For data]
- Device:sudo yum -y install mongodb-org
2 , Size: x GB [put desired size] [For journal]
- Device:sudo yum -y install mongodb-org
3 , Size: x GB [put desired size] [For log]
It’s recommended that journal is 1/5 of data size and log is 1/2 of journal size. You can always increase the EBS size later as needed but decrease. Put rest in default or to your needs.
Kết thúc phần còn lại của các bước để khởi chạy phiên bản
Nhóm bảo mật
Tạo hoặc chọn nhóm bảo mật hiện có có cổng SSH với bộ IP của bạn cho các quy tắc trong nước
- Tạo nhóm bảo mật mới, ví dụ:
- Loại: SSH; Cổng 22; Nguồn: IP của bạn [để bạn có thể truy cập hộp trực tiếp sau]
Ra mắt EC2
Nếu bạn đang lên kế hoạch sử dụng bộ bản sao, hãy đảm bảo các phiên bản được tạo trong cùng một nhóm bảo mật để họ có thể giao tiếp với nhau. Sau khi các trường hợp được tạo, hãy truy cập nhóm bảo mật của bạn và tìm
sudo yum -y install mongodb-org
4 vừa tạo. Nó nên có ID nhóm [SG-ABC123].Thêm dưới đây các quy tắc trong nước bổ sung:
- Loại: TCP tùy chỉnh; Cổng 27017; Nguồn: SG-ABC123
Tải xuống MongoDB
SSH vào trường hợp
ssh -i path_to_keypair ec2-user@ip_address
Cập nhật gói
sudo yum -y update
Cài đặt MongoDB
Tạo một tệp để tải xuống MongoDB trực tiếp bằng
sudo yum -y install mongodb-org
6sudo vi /etc/yum.repos.d/mongodb-org-4.0.repo
Sao chép/Dán phần sau vào Tệp REPO
[mongodb-org-4.0]
name=MongoDB Repository
baseurl=//repo.mongodb.org/yum/amazon/2013.03/mongodb-org/4.0/x86_64/
gpgcheck=1
enabled=1
gpgkey=//www.mongodb.org/static/pgp/server-4.0.asc
Cài đặt gói MongoDB
sudo yum -y install mongodb-org
Kiểm tra bạn đã cài đặt MongoDB đúng cách
which mongo # should print /usr/bin/mongo
Cấu hình MongoDB
Định cấu hình hệ thống tệp
Gắn từng tập và đặt quyền sở hữu
sudo mkfs.xfs -L mongodata /dev/sdf
sudo mkfs.xfs -L mongojournal /dev/sdg
sudo mkfs.xfs -L mongolog /dev/sdh
sudo mkdir /data
sudo mkdir /journal
sudo mkdir /log
sudo mount -t xfs /dev/sdf /data
sudo mount -t xfs /dev/sdg /journal
sudo mount -t xfs /dev/sdh /log
sudo ln -s /journal /data/journal
sudo chown mongod:mongod /data
sudo chown mongod:mongod /log/
sudo chown mongod:mongod /journal/
Xác định phân vùng đĩa
sudo vi /etc/fstab
Nối mã sau để chỉ định phân vùng đĩa
/dev/sdf /data xfs defaults,auto,noatime,noexec 0 0
/dev/sdg /journal xfs defaults,auto,noatime,noexec 0 0
/dev/sdh /log xfs defaults,auto,noatime,noexec 0 0
MongoDB cần có khả năng tạo các mô tả tệp khi máy khách kết nối và sinh ra một số lượng lớn các quy trình để hoạt động hiệu quả. Tệp mặc định và giới hạn quy trình được vận chuyển với Ubuntu không được áp dụng cho MongoDB.
Sửa đổi chúng bằng cách chỉnh sửa tệp
sudo yum -y install mongodb-org
7:sudo vi /etc/security/limits.conf
Thêm các dòng sau vào cuối tệp:
sudo yum -y update
0Tiếp theo, tạo một tệp có tên
sudo yum -y install mongodb-org
8 trong sudo yum -y install mongodb-org
9:sudo yum -y update
1Dán các dòng sau vào tệp:
sudo yum -y update
2Xác nhận đĩa đã gắn đúng cách
sudo yum -y update
3Bạn sẽ thấy một cái gì đó tương tự như dưới đây:
sudo yum -y update
4Tắt các trang lớn minh bạch
Tạo tệp sau
sudo yum -y update
5Sao chép/Dán mã sau vào tệp
sudo yum -y update
6Làm cho nó thực thi
sudo yum -y update
7Thiết lập log xoay vòng
Xoay xảy ra hàng ngày, xoay 7 ngày một lần. Khi xoay, nó sẽ gửi tín hiệu -USR1 tới Mongo
Tạo quy tắc xoay vòng nhật ký
sudo yum -y update
8Sao chép/Dán mã sau vào tệp
sudo yum -y update
9Làm cho nó thực thi
Thiết lập log xoay vòng
Xoay xảy ra hàng ngày, xoay 7 ngày một lần. Khi xoay, nó sẽ gửi tín hiệu -USR1 tới Mongo
sudo vi /etc/yum.repos.d/mongodb-org-4.0.repo
0Tạo quy tắc xoay vòng nhật ký
sudo vi /etc/yum.repos.d/mongodb-org-4.0.repo
1Bạn có thể tìm hiểu thêm về định nghĩa cấu hình xoay vòng log tại đây: //gist.github.com/pagebrooks/6390198
sudo vi /etc/yum.repos.d/mongodb-org-4.0.repo
2Mẹo: Bạn có thể kiểm tra vòng quay nhật ký sau khi MongoDB được thiết lập bằng cách chạy:
which mongo # should print /usr/bin/mongo
0sudo vi /etc/yum.repos.d/mongodb-org-4.0.repo
3Cập nhật cấu hình MongoDB
sudo vi /etc/yum.repos.d/mongodb-org-4.0.repo
4Cập nhật các giá trị
Đây là những gì which mongo # should print /usr/bin/mongo
1 nên trông như thế nào
MongoDB sẽ tự động khởi động khi khởi động
Bắt đầu máy chủ mongoDB
sudo vi /etc/yum.repos.d/mongodb-org-4.0.repo
5Lặp lại các bước trên trong phần Tải xuống MongoDB, Cài đặt MongoDB, và Cấu hình MongoDB, nếu bạn thiết lập bộ bản sao
sudo vi /etc/yum.repos.d/mongodb-org-4.0.repo
6Tạo người dùng MongoDB
sudo vi /etc/yum.repos.d/mongodb-org-4.0.repo
7Nếu bạn thiết lập bộ bản sao, chỉ cần tạo người dùng trên nút chính.
Kết nối với MongoDB
Tạo người dùng gốc
Chỉ cập nhật bảo mật trong cấu hình MongoDB sau khi bạn đã tạo thành công người dùng quản trị viên và nếu bạn không có kế hoạch sử dụng bộ bản sao.
sudo vi /etc/yum.repos.d/mongodb-org-4.0.repo
8Mẹo: Bạn có thể kiểm tra kỹ xem có được thiết lập chính xác bằng cách kết nối với Mongo mà không cần người dùng và cố gắng chạy truy vấn MongoDB. Nó sẽ cho bạn một lỗi trái phép.
sudo vi /etc/yum.repos.d/mongodb-org-4.0.repo
9Nhận từng trường hợp
ssh -i path_to_keypair ec2-user@ip_address
Đặt Keyfile vào đúng vị trí và cấp quyền đúng
[mongodb-org-4.0]
name=MongoDB Repository
baseurl=//repo.mongodb.org/yum/amazon/2013.03/mongodb-org/4.0/x86_64/
gpgcheck=1
enabled=1
gpgkey=//www.mongodb.org/static/pgp/server-4.0.asc
1Cập nhật cấu hình MongoDB
sudo vi /etc/yum.repos.d/mongodb-org-4.0.repo
0Bật bảo mật và sao chép
[mongodb-org-4.0]
name=MongoDB Repository
baseurl=//repo.mongodb.org/yum/amazon/2013.03/mongodb-org/4.0/x86_64/
gpgcheck=1
enabled=1
gpgkey=//www.mongodb.org/static/pgp/server-4.0.asc
3Khởi động lại máy chủ MongoDB
[mongodb-org-4.0]
name=MongoDB Repository
baseurl=//repo.mongodb.org/yum/amazon/2013.03/mongodb-org/4.0/x86_64/
gpgcheck=1
enabled=1
gpgkey=//www.mongodb.org/static/pgp/server-4.0.asc
4Sau khi tất cả các trường hợp khởi động lại thành công. Nhận trên một trong những trường hợp đã được thiết lập. Sử dụng nút này làm nút chính trong tương lai.
[mongodb-org-4.0]
name=MongoDB Repository
baseurl=//repo.mongodb.org/yum/amazon/2013.03/mongodb-org/4.0/x86_64/
gpgcheck=1
enabled=1
gpgkey=//www.mongodb.org/static/pgp/server-4.0.asc
5Kết nối với MongoDB với người dùng mới được tạo
[mongodb-org-4.0]
name=MongoDB Repository
baseurl=//repo.mongodb.org/yum/amazon/2013.03/mongodb-org/4.0/x86_64/
gpgcheck=1
enabled=1
gpgkey=//www.mongodb.org/static/pgp/server-4.0.asc
6Sau khi bạn kết nối thành công với MongoDB, hãy thiết lập bản sao
[mongodb-org-4.0]
name=MongoDB Repository
baseurl=//repo.mongodb.org/yum/amazon/2013.03/mongodb-org/4.0/x86_64/
gpgcheck=1
enabled=1
gpgkey=//www.mongodb.org/static/pgp/server-4.0.asc
7Đảm bảo tên thành viên/máy chủ thành viên được kết nối trực tiếp bằng IP thay vì địa chỉ DNS; Nếu không, nó đã thắng hoạt động đúng
[mongodb-org-4.0]
name=MongoDB Repository
baseurl=//repo.mongodb.org/yum/amazon/2013.03/mongodb-org/4.0/x86_64/
gpgcheck=1
enabled=1
gpgkey=//www.mongodb.org/static/pgp/server-4.0.asc
8Thêm phần còn lại của các phiên bản vào bộ bản sao
[mongodb-org-4.0]
name=MongoDB Repository
baseurl=//repo.mongodb.org/yum/amazon/2013.03/mongodb-org/4.0/x86_64/
gpgcheck=1
enabled=1
gpgkey=//www.mongodb.org/static/pgp/server-4.0.asc
9Xác nhận cấu hình đặt bản sao
sudo yum -y install mongodb-org
0Nếu bạn có 3 nút trong bộ bản sao, các thành viên nên chứa 3 phần tử trong mảng: một chính [IP hiện tại của bạn], hai phụ [được thêm qua thông qua
Mẹo: Đảm bảo các phiên bản nằm trên cùng một nhóm bảo mật mà họ có thể giao tiếp với nhau
Mẹo: Nếu bạn muốn xem trực tiếp dữ liệu trên các nút thứ cấp, hãy kết nối với MongoDB trên nút thứ cấp và chạy
which mongo # should print /usr/bin/mongo
3Tài liệu tham khảo
- //docs.mongodb.com/manual/tutorial/install-mongodb-on-amazon/
- //docs.mongodb.com/manual/tutorial/transparent-huge-pages/
- //gist.github.com/calvinh8/c99e198ce5df3d8b1f1e42c1b984d7a4