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

Cách quản lý mẫu cấu hình cho cơ sở dữ liệu của bạn với ClusterControl

ClusterControl giúp dễ dàng triển khai thiết lập cơ sở dữ liệu - chỉ cần điền vào một số giá trị (nhà cung cấp cơ sở dữ liệu, thư mục dữ liệu cơ sở dữ liệu, mật khẩu và tên máy chủ) trong trình hướng dẫn triển khai và bạn đã sẵn sàng. Phần còn lại của các tùy chọn cấu hình sẽ được tự động xác định (và tính toán) dựa trên các thông số kỹ thuật của máy chủ (lõi CPU, bộ nhớ, địa chỉ IP, v.v.) và được áp dụng cho tệp mẫu đi kèm với ClusterControl. Trong bài đăng trên blog này, chúng ta sẽ xem xét cách ClusterControl sử dụng các tệp mẫu mặc định và cách người dùng có thể tùy chỉnh chúng theo nhu cầu của họ.

Tệp mẫu cơ sở

Tất cả các dịch vụ được cấu hình bởi ClusterControl sử dụng một mẫu cấu hình cơ sở có sẵn trong / usr / share / cmon / các mẫu trên nút ClusterControl. Sau đây là các tệp mẫu được cung cấp bởi ClusterControl v1.4.0:

Tên tệp Mô tả
config.ini.mc Tệp cấu hình Cụm MySQL.
haproxy.cfg Mẫu cấu hình HAProxy cho Galera Cluster.
haproxy_rw_split.cfg Mẫu cấu hình HAProxy để phân tách đọc-ghi.
garbd.cnf Tệp cấu hình daemon (garbd) của trọng tài Galera.
keepalived-1.2.7.conf Tệp cấu hình lưu trữ kế thừa (trước 1.2.7). Tính năng này không được dùng nữa.
keepalived.conf Tệp cấu hình đủ điều kiện.
keepalived.init Keepalived init script.
MaxScale_template.cnf Mẫu cấu hình MaxScale.
mongodb-2.6.conf.org Mẫu cấu hình MongoDB 2.x.
mongodb.conf.org Mẫu cấu hình MongoDB 3.x.
mongodb.conf.percona Mẫu cấu hình MongoDB 3.x cho Máy chủ Percona cho MongoDB.
mongos.conf.org Mẫu cấu hình bộ định tuyến Mongo (mongos).
my.cnf.galera Mẫu cấu hình MySQL cho Galera Cluster.
my57.cnf.galera Mẫu cấu hình MySQL cho Galera Cluster trên MySQL 5.7.
my.cnf.grouprepl Mẫu cấu hình MySQL cho MySQL Group Replication.
my.cnf.gtid_replication Mẫu cấu hình MySQL cho MySQL Replication với GTID.
my.cnf.mysqlcluster Mẫu cấu hình MySQL cho Cụm MySQL.
my.cnf.pxc55 Mẫu cấu hình MySQL cho Percona XtraDB Cluster v5.5.
my.cnf.repl57 Mẫu cấu hình MySQL cho MySQL Replication v5.7.
my.cnf.replication Mẫu cấu hình MySQL cho MySQL / MariaDB không có GTID của MySQL.
mysqlchk.galera Mẫu tập lệnh kiểm tra tình trạng MySQL cho Galera Cluster.
mysqlchk.mysql Mẫu tập lệnh kiểm tra tình trạng MySQL cho MySQL Replication.
mysqlchk_xinetd Mẫu cấu hình Xinetd để kiểm tra tình trạng MySQL.
mysqld.service.override Mẫu tệp đơn vị Systemd cho dịch vụ MySQL.
proxysql_template.cnf Mẫu cấu hình ProxySQL.

Danh sách trên phụ thuộc vào bộ tính năng được cung cấp bởi bản phát hành ClusterControl đã cài đặt. Trong phiên bản cũ hơn, bạn có thể không tìm thấy một số trong số chúng. Bạn có thể sửa đổi trực tiếp các tệp mẫu này, mặc dù chúng tôi không khuyến khích nó như được giải thích trong các phần tiếp theo.

Trình quản lý cấu hình

Tùy thuộc vào loại cụm, ClusterControl sau đó sẽ nhập tệp mẫu cơ sở cần thiết vào cơ sở dữ liệu CMON và có thể truy cập thông qua Quản lý -> Cấu hình -> Mẫu sau khi triển khai thành công. Ví dụ:hãy xem xét mẫu cấu hình sau cho Cụm MariaDB Galera:

ClusterControl sẽ tải nội dung mẫu cơ sở của mẫu cấu hình Galera từ /usr/share/cmon/templates/my.cnf.galera vào cơ sở dữ liệu CMON (bên trong bảng cluster_configuration_templates) sau khi triển khai thành công. Sau đó, bạn có thể tùy chỉnh tệp cấu hình của riêng mình trực tiếp trong giao diện người dùng ClusterControl. Bất cứ khi nào bạn nhấn nút Lưu, phiên bản mới của mẫu cấu hình sẽ được lưu trữ bên trong cơ sở dữ liệu CMON mà không ghi đè lên tệp mẫu cơ sở.

Sau khi cụm được triển khai và chạy, mẫu trong giao diện người dùng sẽ được ưu tiên. Tệp mẫu cơ sở chỉ được sử dụng trong quá trình triển khai cụm ban đầu thông qua ClusterControl -> Deploy -> Deploy Database Cluster. Trong giai đoạn triển khai, ClusterControl sẽ sử dụng một thư mục tạm thời nằm tại / var / tmp / để chuẩn bị nội dung, ví dụ:

/var/tmp/cmon-003862-6a7775ca76c62486.tmp

Biến động

Có một số biến cấu hình số có thể cấu hình động bởi ClusterControl. Các biến này được biểu diễn bằng các chữ cái in hoa ở dấu ‘@’, ví dụ @ example @ sqldat.com Để biết đầy đủ chi tiết về các biến được hỗ trợ, vui lòng tham khảo trang này. Các biến động được cấu hình tự động dựa trên đầu vào được chỉ định trong quá trình triển khai cụm hoặc ClusterControl thực hiện phát hiện tự động dựa trên tên máy chủ, địa chỉ IP, RAM khả dụng, số lõi CPU, v.v. Điều này đơn giản hóa việc triển khai trong đó bạn chỉ cần chỉ định các tùy chọn tối thiểu trong giai đoạn triển khai cụm

Nếu biến động được thay thế bằng một giá trị (hoặc không xác định), ClusterControl sẽ bỏ qua nó và thay vào đó sử dụng giá trị đã định cấu hình. Điều này rất hữu ích cho người dùng nâng cao, nơi thường có bộ tùy chọn cấu hình riêng phù hợp với khối lượng công việc cơ sở dữ liệu cụ thể.

Ví dụ về mẫu cấu hình trước khi triển khai

Thay vì dựa vào biến động của ClusterControl về số lượng max_connections cho các nút cơ sở dữ liệu của chúng tôi, chúng tôi có thể thay đổi dòng sau bên trong /usr/share/cmon/templates/my57.cnf.galera, từ:

[email protected]@sqldat.com

Tới:

max_connections=50

Lưu tệp văn bản và trên hộp thoại Triển khai Cụm cơ sở dữ liệu, đảm bảo ClusterControl sử dụng tệp mẫu cơ sở chính xác:

Nhấp vào nút Triển khai để bắt đầu triển khai cụm cơ sở dữ liệu.

Ví dụ về mẫu cấu hình sau triển khai

Sau khi triển khai cụm cơ sở dữ liệu hoàn tất, bạn có thể đã thực hiện một số tinh chỉnh trên các máy chủ đang chạy trước khi quyết định mở rộng quy mô. Khi mở rộng quy mô, ClusterControl sẽ sử dụng mẫu cấu hình bên trong cơ sở dữ liệu CMON (mẫu được điền trong ClusterControl -> Cấu hình -> Mẫu) để triển khai các nút mới. Do đó, hãy nhớ áp dụng sửa đổi bạn đã thực hiện trên máy chủ cơ sở dữ liệu cho tệp mẫu.

Trước khi thêm một nút mới, bạn nên xem lại mẫu cấu hình để đảm bảo rằng nút mới nhận được những gì chúng tôi mong đợi. Sau đó, đi tới ClusterControl -> Add Node và đảm bảo chọn đúng tệp mẫu MySQL:

Sau đó, nhấp vào nút “Thêm nút” để bắt đầu triển khai.

Đó là nó. Mặc dù ClusterControl thực hiện các công việc tự động hóa khác nhau khi triển khai, nó vẫn cung cấp cho người dùng sự tự do tùy chỉnh việc triển khai cho phù hợp. Chúc các bạn thành nhóm vui vẻ!


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Bản ghi ngẫu nhiên từ MongoDB

  2. Không thể khởi động mongod.service:Không tìm thấy đơn vị mongod.service

  3. Đặt thời gian hết hạn cho bộ sưu tập trong mongodb bằng mongoose

  4. 3 cách để chọn hàng có giá trị nhỏ nhất trong SQL

  5. Chỉ mục một phần trong mongodb / mongoose