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

Kiat untuk Mengelola Konfigurasi Basis Data Anda

Dalam lima posting terakhir dari seri blog, kami membahas penerapan pengelompokan/replikasi (MySQL / Galera, Replikasi MySQL, MongoDB &PostgreSQL), manajemen &pemantauan database dan cluster Anda yang ada, pemantauan kinerja dan kesehatan, cara membuat pengaturan Anda sangat tersedia melalui HAProxy dan MaxScale dan di postingan terakhir, cara mempersiapkan diri untuk bencana dengan menjadwalkan pencadangan.

Sejak ClusterControl 1.2.11, kami membuat peningkatan besar pada manajer konfigurasi database. Versi baru memungkinkan perubahan parameter pada beberapa host database secara bersamaan dan, jika mungkin, mengubah nilainya saat runtime.

Kami menampilkan Manajemen Konfigurasi MySQL baru dalam posting blog Tips &Trik, tetapi posting blog ini akan lebih mendalam dan mencakup Manajemen Konfigurasi dalam ClusterControl untuk MySQL, PostgreSQL, dan MongoDB.

Manajemen Konfigurasi ClusterControl

Antarmuka manajemen konfigurasi dapat ditemukan di bawah Kelola> Konfigurasi. Dari sini, Anda dapat melihat atau mengubah konfigurasi node database Anda dan alat lain yang dikelola ClusterControl. ClusterControl akan mengimpor konfigurasi terbaru dari semua node dan menimpa salinan sebelumnya yang dibuat. Saat ini tidak ada data historis yang disimpan.

Jika Anda lebih suka mengedit file konfigurasi secara manual langsung di node, Anda dapat mengimpor ulang konfigurasi yang diubah dengan menekan tombol Impor.

Dan yang tak kalah pentingnya:Anda dapat membuat atau mengedit template konfigurasi. Template ini digunakan setiap kali Anda men-deploy node baru di cluster Anda. Tentu saja setiap perubahan yang dibuat pada template tidak akan diterapkan secara surut ke node yang sudah di-deploy yang dibuat menggunakan template ini.

Manajemen Konfigurasi MySQL

Seperti disebutkan sebelumnya, manajemen konfigurasi MySQL mendapat perbaikan total di ClusterControl 1.2.11. Antarmuka sekarang lebih intuitif. Saat mengubah parameter, ClusterControl memeriksa apakah parameter itu benar-benar ada. Ini memastikan konfigurasi Anda tidak akan menolak startup MySQL karena parameter yang tidak ada.

Dari Manage -> Configurations, Anda akan menemukan gambaran umum dari semua file konfigurasi yang digunakan dalam cluster yang dipilih, termasuk node load balancer.

Kami menggunakan struktur pohon untuk dengan mudah melihat host dan file konfigurasi masing-masing. Di bagian bawah pohon, Anda akan menemukan template konfigurasi yang tersedia untuk cluster ini.

Mengubah Parameter

Misalkan kita perlu mengubah parameter sederhana seperti jumlah maksimum koneksi yang diizinkan (max_connections), kita cukup mengubah parameter ini saat runtime.

Pertama, pilih host untuk menerapkan perubahan ini.

Kemudian pilih bagian yang ingin Anda ubah. Dalam kebanyakan kasus, Anda ingin mengubah bagian MYSQLD. Jika Anda ingin mengubah set karakter default untuk MySQL, Anda harus mengubahnya di bagian MYSQLD dan klien.

Jika perlu Anda juga dapat membuat bagian baru hanya dengan mengetikkan nama bagian baru. Ini akan membuat bagian baru di my.cnf.

Setelah kami mengubah parameter dan menetapkan nilai barunya dengan menekan "Lanjutkan", ClusterControl akan memeriksa apakah ada parameter untuk versi MySQL ini. Ini untuk mencegah parameter yang tidak ada untuk memblokir inisialisasi MySQL pada restart berikutnya.

Ketika kita menekan “proceed” untuk perubahan max_connections, kita akan menerima konfirmasi bahwa itu telah diterapkan pada konfigurasi dan disetel saat runtime menggunakan SET GLOBAL. Restart tidak diperlukan karena max_connections adalah parameter yang dapat kita ubah saat runtime.

Sekarang misalkan kita ingin mengubah ukuran bufferpool, ini akan membutuhkan restart MySQL sebelum berlaku:

Dan seperti yang diharapkan, nilainya telah diubah dalam file konfigurasi, tetapi diperlukan restart. Anda dapat melakukan ini dengan masuk ke host secara manual dan memulai ulang proses MySQL. Cara lain untuk melakukan ini dari ClusterControl adalah dengan menggunakan dasbor Nodes.

Memulai Ulang Node di Cluster Galera

Anda dapat melakukan restart per node dengan memilih “Restart Node” dan menekan tombol “Lanjutkan”.

Saat Anda memilih "Initial Start" pada node Galera, ClusterControl akan mengosongkan direktori data MySQL dan memaksa salinan lengkap dengan cara ini. Ini, jelas, tidak perlu untuk perubahan konfigurasi. Pastikan Anda membiarkan kotak centang "awal" tidak dicentang di dialog konfirmasi. Ini akan menghentikan dan memulai MySQL pada host tetapi tergantung pada beban kerja Anda dan ukuran bufferpool, ini bisa memakan waktu cukup lama karena MySQL akan mulai mem-flush halaman kotor dari bufferpool InnoDB ke disk. Ini adalah halaman yang telah dimodifikasi di memori tetapi tidak di disk.

Memulai ulang Node dalam topologi MySQL Master-Slave

Untuk topologi master-slave MySQL, Anda tidak bisa begitu saja me-restart node demi node. Kecuali jika waktu henti master dapat diterima, Anda harus menerapkan perubahan konfigurasi pada slave terlebih dahulu dan kemudian mempromosikan slave untuk menjadi master baru.

Anda dapat melewati budak satu per satu dan menjalankan "Restart Node" pada mereka.

Setelah menerapkan perubahan ke semua budak, promosikan seorang budak untuk menjadi master baru:

Setelah slave menjadi master baru, Anda dapat mematikan dan memulai ulang node master lama untuk menerapkan perubahan.

Mengimpor konfigurasi

Sekarang kita telah menerapkan perubahan secara langsung pada database, serta file konfigurasi, dibutuhkan hingga impor konfigurasi berikutnya untuk melihat perubahan yang tercermin dalam konfigurasi yang disimpan di ClusterControl. Jika Anda kurang sabar, Anda dapat menjadwalkan impor konfigurasi langsung dengan menekan tombol “Impor”.

Manajemen Konfigurasi PostgreSQL

Untuk PostgreSQL, Manajemen Konfigurasi bekerja sedikit berbeda dari Manajemen Konfigurasi MySQL. Secara umum, Anda memiliki fungsi yang sama di sini:mengubah konfigurasi, mengimpor konfigurasi untuk semua node dan menentukan/mengubah template.

Perbedaannya di sini adalah Anda dapat segera mengubah seluruh file konfigurasi dan menulis konfigurasi ini kembali ke node database.

Jika perubahan yang dibuat memerlukan restart, tombol “Restart” akan muncul yang memungkinkan Anda untuk me-restart node untuk menerapkan perubahan.

Manajemen Konfigurasi MongoDB

Manajemen Konfigurasi MongoDB bekerja mirip dengan Manajemen Konfigurasi MySQL:Anda dapat mengubah konfigurasi, mengimpor konfigurasi untuk semua node, mengubah parameter, dan mengubah template.

Mengubah konfigurasi cukup mudah, dengan menggunakan dialog Ubah Parameter (seperti yang dijelaskan di bagian "Mengubah Parameter"::

Setelah diubah, Anda dapat melihat tindakan pasca-modifikasi yang diusulkan oleh ClusterControl di dialog "Config Change Log":

Anda kemudian dapat melanjutkan untuk memulai ulang masing-masing node MongoDB, satu node pada satu waktu, untuk memuat perubahan.

Pemikiran Terakhir

Dalam posting blog ini kami belajar tentang cara mengelola, mengubah, dan membuat template konfigurasi Anda di ClusterControl. Mengubah template dapat menghemat banyak waktu ketika Anda hanya menggunakan satu node di topologi Anda. Karena template akan digunakan untuk node baru, ini akan menyelamatkan Anda dari mengubah semua konfigurasi setelahnya. Namun untuk node berbasis MySQL dan MongoDB, mengubah konfigurasi pada semua node menjadi hal yang sepele karena antarmuka Manajemen Konfigurasi yang baru.

Sebagai pengingat, kami baru-baru ini membahas penerapan rangkaian pengelompokan/replikasi yang sama (MySQL / Galera, Replikasi MySQL, MongoDB &PostgreSQL), manajemen &pemantauan database dan cluster Anda yang ada, pemantauan kinerja dan kesehatan, cara membuat pengaturan Anda sangat tersedia melalui HAProxy dan MaxScale dan di postingan terakhir, cara mempersiapkan diri untuk bencana dengan menjadwalkan pencadangan.


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Gagal terhubung ke 127.0.0.1:27017, alasan:errno:111 Koneksi ditolak

  2. Mongoid / Mongodb dan menanyakan dokumen yang disematkan

  3. Mongo:menghitung jumlah kemunculan kata dalam satu set dokumen

  4. Ikhtisar MongoDB Atlas:Bagian Satu

  5. Bagaimana cara menangani migrasi skema luwak dengan benar?