MongoDB
 sql >> Teknologi Basis Data >  >> NoSQL >> MongoDB

Cara Mengelola Template Konfigurasi untuk Database Anda Dengan ClusterControl

ClusterControl memudahkan untuk menerapkan pengaturan basis data - cukup isi beberapa nilai (vendor basis data, direktori data basis data, kata sandi, dan nama host) di wizard penerapan dan Anda siap melakukannya. Opsi konfigurasi lainnya akan ditentukan secara otomatis (dan dihitung) berdasarkan spesifikasi host (inti CPU, memori, alamat IP, dll.) dan diterapkan ke file template yang disertakan dengan ClusterControl. Dalam posting blog ini, kita akan melihat bagaimana ClusterControl menggunakan file template default dan bagaimana pengguna dapat menyesuaikannya dengan kebutuhan mereka.

File Template Dasar

Semua layanan yang dikonfigurasi oleh ClusterControl menggunakan templat konfigurasi dasar yang tersedia di bawah /usr/share/cmon/templates pada node ClusterControl. Berikut ini adalah file template yang disediakan oleh ClusterControl v1.4.0:

Nama file Deskripsi
config.ini.mc File konfigurasi MySQL Cluster.
haproxy.cfg Template konfigurasi HAProxy untuk Galera Cluster.
haproxy_rw_split.cfg Template konfigurasi HAProxy untuk pemisahan baca-tulis.
garbd.cnf File konfigurasi daemon (garbd) arbiter Galera.
keepalived-1.2.7.conf File konfigurasi tetap yang lama (sebelum 1.2.7). Ini tidak digunakan lagi.
keepalived.conf Berkas konfigurasi tetap.
keepalived.init Skrip init tetap dipertahankan.
MaxScale_template.cnf Template konfigurasi MaxScale.
mongodb-2.6.conf.org Template konfigurasi MongoDB 2.x.
mongodb.conf.org Template konfigurasi MongoDB 3.x.
mongodb.conf.percona Template konfigurasi MongoDB 3.x untuk Server Percona untuk MongoDB.
mongos.conf.org Template konfigurasi router Mongo (mongos).
my.cnf.galera Template konfigurasi MySQL untuk Galera Cluster.
my57.cnf.galera Template konfigurasi MySQL untuk Galera Cluster di MySQL 5.7.
my.cnf.grouprepl Template konfigurasi MySQL untuk Replikasi Grup MySQL.
my.cnf.gtid_replication Template konfigurasi MySQL untuk Replikasi MySQL dengan GTID.
my.cnf.mysqlcluster Template konfigurasi MySQL untuk MySQL Cluster.
my.cnf.pxc55 Template konfigurasi MySQL untuk Percona XtraDB Cluster v5.5.
my.cnf.repl57 Template konfigurasi MySQL untuk MySQL Replication v5.7.
my.cnf.replication Template konfigurasi MySQL untuk MySQL/MariaDB tanpa GTID MySQL.
mysqlchk.galera Template skrip pemeriksaan kesehatan MySQL untuk Galera Cluster.
mysqlchk.mysql Template skrip pemeriksaan kesehatan MySQL untuk Replikasi MySQL.
mysqlchk_xinetd Template konfigurasi Xinetd untuk pemeriksaan kesehatan MySQL.
mysqld.service.override Templat file unit sistem untuk layanan MySQL.
proxysql_template.cnf Template konfigurasi proxySQL.

Daftar di atas tergantung pada set fitur yang disediakan oleh rilis ClusterControl yang diinstal. Dalam versi yang lebih lama, Anda mungkin tidak menemukan beberapa di antaranya. Anda dapat memodifikasi file template ini secara langsung, meskipun kami tidak merekomendasikannya seperti yang dijelaskan di bagian selanjutnya.

Manajer Konfigurasi

Bergantung pada tipe cluster, ClusterControl kemudian akan mengimpor file template dasar yang diperlukan ke dalam database CMON dan dapat diakses melalui Manage -> Configurations -> Templates setelah penerapan berhasil. Misalnya, pertimbangkan template konfigurasi berikut untuk MariaDB Galera Cluster:

ClusterControl akan memuat konten template dasar dari template konfigurasi Galera dari /usr/share/cmon/templates/my.cnf.galera ke dalam database CMON (di dalam tabel cluster_configuration_templates) setelah penerapan berhasil. Anda kemudian dapat menyesuaikan file konfigurasi Anda sendiri secara langsung di UI ClusterControl. Setiap kali Anda menekan tombol Simpan, template konfigurasi versi baru akan disimpan di dalam database CMON, tanpa menimpa file template dasar.

Setelah cluster di-deploy dan dijalankan, template di UI akan diutamakan. File template dasar hanya digunakan selama penyebaran cluster awal melalui ClusterControl -> Deploy -> Deploy Database Cluster. Selama tahap penerapan, ClusterControl akan menggunakan direktori sementara yang terletak di /var/tmp/ untuk menyiapkan konten, misalnya:

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

Variabel Dinamis

Ada beberapa variabel konfigurasi yang dapat dikonfigurasi secara dinamis oleh ClusterControl. Variabel-variabel ini diwakili dengan huruf kapital yang diapit oleh tanda '@', misalnya @[email protected] Untuk detail lengkap tentang variabel yang didukung, silakan merujuk ke halaman ini. Variabel dinamis secara otomatis dikonfigurasi berdasarkan input yang ditentukan selama penyebaran cluster, atau ClusterControl melakukan deteksi otomatis berdasarkan nama host, alamat IP, RAM yang tersedia, jumlah inti CPU, dan sebagainya. Ini menyederhanakan penerapan di mana Anda hanya perlu menentukan opsi minimal selama tahap penerapan cluster

Jika variabel dinamis diganti dengan nilai (atau tidak ditentukan), ClusterControl akan melewatinya dan menggunakan nilai yang dikonfigurasi sebagai gantinya. Ini berguna untuk pengguna tingkat lanjut, yang biasanya memiliki serangkaian opsi konfigurasi yang disesuaikan untuk beban kerja database tertentu.

Contoh Template Konfigurasi Pra-penerapan

Daripada mengandalkan variabel dinamis ClusterControl pada jumlah max_connections untuk node database kita, kita dapat mengubah baris berikut di dalam /usr/share/cmon/templates/my57.cnf.galera, dari:

[email protected]@sqldat.com

Kepada:

max_connections=50

Simpan file teks dan pada dialog Deploy Database Cluster, pastikan ClusterControl menggunakan file template dasar yang benar:

Klik tombol Deploy untuk memulai penerapan cluster database.

Contoh Template Konfigurasi Pasca-penerapan

Setelah penyebaran cluster database selesai, Anda mungkin telah melakukan beberapa penyesuaian pada server yang berjalan sebelum memutuskan untuk meningkatkannya. Saat scaling up, ClusterControl akan menggunakan template konfigurasi di dalam database CMON (yang diisi di bawah ClusterControl -> Konfigurasi -> Template) untuk menyebarkan node baru. Oleh karena itu, ingatlah untuk menerapkan modifikasi yang Anda buat di server database ke file template.

Sebelum menambahkan node baru, sebaiknya tinjau template konfigurasi untuk memastikan bahwa node baru mendapatkan apa yang kita harapkan. Lalu, buka ClusterControl -> Add Node dan pastikan file template MySQL yang benar dipilih:

Kemudian, klik tombol “Tambah Node” untuk memulai penerapan.

Itu dia. Meskipun ClusterControl melakukan berbagai pekerjaan otomatisasi dalam hal penerapan, ClusterControl tetap memberikan kebebasan bagi pengguna untuk menyesuaikan penerapan yang sesuai. Selamat mengelompokkan!


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Bagaimana cara menjalankan perintah mongodump secara terprogram dari node.js?

  2. Objek Tersemat MongoDB tidak memiliki ID (nilai nol)

  3. Mongoose - validasi sintaks email

  4. buat dan perbarui beberapa dokumen MongoDB dalam satu panggilan

  5. Bagaimana Membandingkan MongoDB dengan YCSB?