MongoDB
 sql >> Cơ Sở Dữ Liệu >  >> NoSQL >> MongoDB

Tự động hóa và quản lý MongoDB trong đám mây

Quản lý cơ sở dữ liệu theo truyền thống rất phức tạp và tốn nhiều thời gian. Việc triển khai, với các vấn đề đau đầu về bảo mật, mạng phức tạp, lập kế hoạch dự phòng và thực hiện, cũng như giám sát, là một vấn đề đau đầu. Mở rộng cụm cơ sở dữ liệu của bạn là một công việc lớn. Và trong một thế giới mong đợi tính sẵn sàng 24/7 và khả năng khắc phục thảm họa nhanh chóng, việc quản lý ngay cả một cụm cơ sở dữ liệu duy nhất có thể là công việc toàn thời gian.

Somenines ’ClusterControl là một hệ thống quản lý và triển khai cơ sở dữ liệu giải quyết các vấn đề trên, tạo điều kiện triển khai nhanh chóng các cụm hoặc nút cơ sở dữ liệu dự phòng, an toàn, bao gồm chức năng sao lưu và giám sát nâng cao - cho dù trên cơ sở hay trên đám mây. Với các plugin hỗ trợ Nagios, PagerDuty và Zabbix, cùng với các plugin khác, ClusterControl tích hợp tốt với cơ sở hạ tầng và công cụ hiện có để giúp bạn tự tin quản lý các máy chủ cơ sở dữ liệu của mình.

MongoDB là máy chủ cơ sở dữ liệu NoSQL hàng đầu trên thế giới hiện nay. Sử dụng ClusterControl mà bạn có thể triển khai và quản lý MongoDB hoặc Máy chủ Percona chính thức cho MongoDB, sản phẩm cạnh tranh của Percona kết hợp các tính năng của MongoDB Enterprise, chúng ta sẽ hướng dẫn triển khai Bộ bản sao MongoDB với ba nút dữ liệu và xem xét một số tính năng của ứng dụng ClusterControl.

Chúng ta sẽ xem xét một số tính năng chính của ClusterControl, đặc biệt là khi chúng liên quan đến MongoDB, sử dụng Dịch vụ Web của Amazon. Amazon Web Services (hay AWS) là Cơ sở hạ tầng lớn nhất với tư cách là nhà cung cấp Dịch vụ đám mây trên toàn cầu, lưu trữ hàng triệu người dùng trên khắp thế giới. tất cả các cách để lưu trữ cơ sở dữ liệu doanh nghiệp với Redshift và thậm chí cả Học máy.

Khi bạn đã đọc blog này, bạn cũng có thể muốn đọc Báo cáo chính thức về Cơ sở dữ liệu đám mây tự làm của chúng tôi trên Amazon Web Services Whitepaper thảo luận chi tiết hơn về các cân nhắc về cấu hình và hiệu suất cho các máy chủ cơ sở dữ liệu trong Đám mây AWS. Ngoài ra, chúng tôi đã Trở thành một DBA của MongoDB, một báo cáo chính thức với chi tiết chuyên sâu hơn về MongoDB.

Để bắt đầu, trước tiên bạn sẽ cần triển khai bốn phiên bản AWS. Đối với nền tảng sản xuất, loại phiên bản phải được lựa chọn cẩn thận dựa trên các nguyên tắc mà chúng tôi đã thảo luận trước đó, nhưng đối với mục đích của chúng tôi, các phiên bản với 2 CPU ảo và RAM 4GB là đủ. Một trong những nút này sẽ lưu trữ ClusterControl, những nút khác sẽ được sử dụng để triển khai ba nút cơ sở dữ liệu.

Bắt đầu bằng cách tạo nhóm bảo mật của các nút cơ sở dữ liệu của bạn, cho phép lưu lượng vào trên cổng 27017. Không cần hạn chế lưu lượng đi, nhưng nếu bạn muốn làm như vậy, hãy cho phép lưu lượng đi trên các cổng 1024-65535 để tạo điều kiện giao tiếp ra ngoài từ các máy chủ cơ sở dữ liệu .

Tiếp theo, tạo nhóm bảo mật cho nút ClusterControl của bạn. Cho phép lưu lượng đến trên các cổng 22 và 80. Thêm ID nhóm bảo mật này vào nhóm bảo mật các nút cơ sở dữ liệu của bạn và cho phép giao tiếp TCP không hạn chế. Điều này sẽ tạo điều kiện giao tiếp giữa hai nhóm bảo mật mà không cho phép truy cập ssh vào các nút cơ sở dữ liệu từ các máy khách bên ngoài.

Khởi chạy các phiên bản vào các nhóm bảo mật tương ứng, chọn cho mỗi phiên bản một KeyPair mà bạn có khóa ssh. Với mục đích của tác vụ này, hãy sử dụng cùng một KeyPair cho tất cả các trường hợp. Nếu bạn bị mất khóa ssh cho KeyPair của mình, bạn sẽ phải tạo KeyPair mới. Khi khởi chạy các phiên bản, không chọn hình ảnh Amazon Linux mặc định, thay vào đó hãy chọn một AMI dựa trên hệ điều hành được hỗ trợ được liệt kê tại đây. Vì tôi đang sử dụng AWS khu vực EU-CENTRAL-1, tôi sẽ sử dụng cộng đồng AMI ami-fa2df395, một hình ảnh CentOS 7.3, cho mục đích này.

Nếu bạn đã cài đặt công cụ dòng lệnh AWS, hãy sử dụng aws ec2 description-instance đã nêu chi tiết trước đó để xác nhận rằng các phiên bản của bạn đang chạy - nếu không, hãy xem các phiên bản của bạn trong bảng điều khiển web AWS - và khi được xác nhận, hãy đăng nhập vào phiên bản ClusterControl qua ssh.

Sao chép tệp khóa công khai mà bạn đã tải xuống khi tạo KeyPair vào phiên bản ClusterControl. Bạn có thể sử dụng scp lệnh cho mục đích này. Bây giờ, hãy để nó trong thư mục mặc định / home / centos, thư mục chính của người dùng centos. Tôi đã gọi s9s.pem của mình. Bạn sẽ cần cài đặt công cụ wget; cài đặt nó bằng lệnh sau:

$ sudo yum -y install wget

Để cài đặt ClusterControl, hãy chạy các lệnh sau:

$ wget http://www.severalnines.com/downloads/cmon/install-cc
$ chmod +x install-cc
$ ./install-cc # as root or sudo user

Quá trình cài đặt sẽ hướng dẫn bạn một số câu hỏi ban đầu, sau đó sẽ mất vài phút để truy xuất và cài đặt các phần phụ thuộc bằng trình quản lý gói của hệ điều hành của bạn.

Khi quá trình cài đặt hoàn tất, hãy trỏ trình duyệt web của bạn đến http:// <địa chỉ của phiên bản ClusterControl>. Bạn có thể tìm thấy địa chỉ bên ngoài của phiên bản bằng cách sử dụng phiên bản mô tả hoặc qua bảng điều khiển web AWS.

Khi bạn đã đăng nhập thành công, bạn sẽ thấy màn hình sau và có thể tiếp tục triển khai Bộ bản sao MongoDB của mình.

Hình 1:Chào mừng bạn đến với ClusterControl!

Như bạn có thể thấy, ClusterControl cũng có thể nhập các cụm cơ sở dữ liệu hiện có, cho phép nó quản lý cơ sở hạ tầng hiện có của bạn dễ dàng như các triển khai mới.

Vì mục đích của chúng tôi, bạn sẽ nhấp vào Triển khai cụm cơ sở dữ liệu . Trên màn hình tiếp theo, bạn sẽ thấy lựa chọn máy chủ cơ sở dữ liệu và loại cụm mà ClusterControl hỗ trợ. Nhấp vào tab có nhãn MongoDB ReplicaSet . Ở đây, các giá trị mà bạn quan tâm là Người dùng SSH , Đường dẫn khóa SSH Tên cụm . Cổng phải là 22, cổng ssh mặc định và AMI chúng tôi đang sử dụng không yêu cầu Mật khẩu Sudo .

Hình 2:Triển khai bộ bản sao MongoDB

Người dùng ssh cho CentOS 7 AMI là centos và Đường dẫn khóa SSH là /home/centos/s9s.pem , hoặc đường dẫn thích hợp tùy thuộc vào tên tệp Khóa của riêng bạn. Hãy sử dụng MongoDB-RS0 làm Tên cụm. Chấp nhận các tùy chọn mặc định, chúng tôi nhấp vào Tiếp tục .

Hình 3:Định cấu hình triển khai của bạn

Ở đây chúng ta có thể chọn giữa bản dựng chính thức MongoDB và bản dựng Percona. Chọn bất kỳ cái nào bạn thích và cung cấp người dùng và mật khẩu quản trị viên để định cấu hình MongoDB một cách an toàn. Lưu ý rằng ClusterControl sẽ không cho phép bạn tiếp tục trừ khi bạn cung cấp những chi tiết này. Ghi lại thông tin đăng nhập bạn đã cung cấp, bạn sẽ cần chúng để đăng nhập vào cơ sở dữ liệu MongoDB đã triển khai, nếu bạn muốn sau này sử dụng nó. Bây giờ hãy chọn tên Đặt bản sao hoặc chấp nhận tên mặc định. Chúng tôi sẽ sử dụng các kho lưu trữ của nhà cung cấp, nhưng lưu ý rằng bạn có thể định cấu hình ClusterControl để sử dụng các kho lưu trữ của riêng bạn hoặc của bên thứ ba, nếu bạn muốn.

Thêm các nút cơ sở dữ liệu của bạn, mỗi lần một nút. Bạn có thể chọn sử dụng địa chỉ IP bên ngoài, nhưng nếu bạn cung cấp tên máy chủ, thường được khuyến nghị, ClusterControl sẽ ghi lại tất cả các giao diện mạng trong máy chủ và bạn sẽ có thể chọn giao diện mà bạn muốn triển khai. Khi bạn đã thêm ba nút cơ sở dữ liệu của mình, hãy nhấp vào Triển khai . ClusterControl bây giờ sẽ triển khai Bộ bản sao MongoDB của bạn. Nhấp vào Chi tiết công việc đầy đủ để quan sát khi nó thực hiện cấu hình cụm của bạn. Khi công việc hoàn tất, hãy chuyển đến màn hình Cụm cơ sở dữ liệu và xem cụm của bạn.

Hình 4:Tự động khôi phục

Xem xét kỹ hơn, bạn có thể thấy rằng Auto Recovery được kích hoạt ở cả cấp độ cụm và cấp độ nút; trong trường hợp không thành công, ClusterControl sẽ cố gắng khôi phục cụm của bạn hoặc từng nút gặp sự cố. Dấu tích màu xanh lục bên cạnh mỗi nút cũng hiển thị nhanh trạng thái sức khỏe của cụm.

Hình 5:Lập lịch sao lưu

Tính năng cuối cùng mà chúng tôi sẽ đề cập ở đây là Sao lưu. ClusterControl cung cấp một tính năng sao lưu cho phép sao lưu nhất quán toàn cụm hoặc đơn giản là mongodump tiêu chuẩn sao lưu nếu bạn thích. Nó cũng cung cấp cơ sở để tạo các bản sao lưu theo lịch trình để chạy định kỳ theo lịch trình bạn chọn. Việc lưu giữ bản sao lưu cũng được xử lý, với tùy chọn giữ lại bản sao lưu trong một khoảng thời gian giới hạn, tránh các vấn đề về lưu trữ.

Trong blog này, tôi đã cố gắng cung cấp cho bạn tổng quan ngắn gọn về cách sử dụng ClusterControl với MongoDB, nhưng có nhiều tính năng khác được hỗ trợ bởi ClusterControl. Triển khai các Cụm phân mảnh, với nô lệ ẩn và / hoặc bị trì hoãn, trọng tài và các tính năng khác đều có sẵn. Có thêm thông tin trên trang web của chúng tôi, nơi bạn cũng có thể tìm thấy hội thảo trên web, sách trắng, hướng dẫn và đào tạo, đồng thời dùng thử ClusterControl miễn phí.


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Làm cách nào để lưu tệp vào MongoDB?

  2. Trường __v trong Mongoose là gì

  3. Không thể sử dụng lệnh mongo, hiển thị lệnh không tìm thấy trên mac

  4. Chèn tệp json vào mongodb

  5. Tạo đối tượng BSON từ chuỗi JSON