Cara mengatur cluster mariadb galera 5.5 di Centos, Rhel & Fedora

Cara mengatur cluster mariadb galera 5.5 di Centos, Rhel & Fedora

Mariadb adalah sistem manajemen database relasional (RDBMS). Secara umum kami menggunakan satu simpul server database untuk aplikasi kecil tetapi pikirkan aplikasi yang memiliki ribuan pengguna tetap online sekaligus, dalam situasi itu kami membutuhkan struktur yang mampu menangani beban ini dan memberikan ketersediaan tinggi. Jadi kita perlu menambahkan beberapa server database yang saling berhubungan satu sama lain dan tetap disinkronkan, jadi jika server mana pun turun ke server lain dapat dilakukan dan memberikan layanan kepada pengguna.

Mariadb Galera Cluster adalah kelompok multi-master aktif-aktif yang sinkron dari database mariadb. Yang membuat semua node disinkronkan. Mariadb galera cluster memberikan replikasi sinkronus yang selalu sangat tersedia (tidak ada kehilangan data ketika salah satu node macet, dan replika data selalu konsisten). Saat ini hanya mendukung XTRADB/INNODB mesin penyimpanan dan hanya tersedia untuk platform Linux.

Artikel ini akan membantu Anda mengatur cluster mariadb galera dengan 3 server berjalan dengan centos. Detail server cluster seperti berikut.

    • Cluster DB1: 192.168.1.10 (nama host: db1)
    • Cluster DB2: 192.168.1.20 (nama host: db2)
    • Cluster DB3: 192.168.1.30 (nama host: db3)

Catatan: Langkah 1/2/3 harus dilakukan pada semua node cluster dan langkah -langkah yang tersisa adalah spesifik simpul.

Langkah 1: Tambahkan repositori mariadb

Buat repositori mariadb /etc/yum.repo.d/mariadb.repo Menggunakan konten berikut di sistem Anda. Repositori di bawah akan bekerja di Centos 6.X sistem, untuk sistem lain menggunakan alat pembuatan repositori dan menambah sistem Anda.

Untuk Centos 6 - 64bit

[mariadb] name = mariadb baseUrl = http: // yum.Mariadb.org/5.5/centos6-amd64 gpgkey = https: // yum.Mariadb.org/rpm-gpg-key-mariadb gpgcheck = 1 

Untuk Centos 6 - 32bit

[mariadb] name = mariadb baseUrl = http: // yum.Mariadb.org/5.5/centos6-x86 gpgkey = https: // yum.Mariadb.org/rpm-gpg-key-mariadb gpgcheck = 1 

Langkah 2: Instal Mariadb dan Galera

Sebelum memasang paket cluster mariadb galera, hapus paket mysql atau mariadb yang ada yang diinstal pada sistem. Setelah itu gunakan perintah berikut untuk menginstal semua node.

# yum instal mariadb-galera-server mariadb-client galera 

Langkah 3: Konfigurasi MariaDB Awal

Setelah berhasil memasang paket dalam langkah -langkah di atas, lakukan beberapa konfigurasi mariadb awal. Gunakan perintah berikut dan ikuti instruksi pada semua node cluster. Jika akan meminta untuk mengatur kata sandi akun root juga.

# mysql_secure_installation # service mysql start 

Setelah itu buat pengguna di MariaDB di semua node, yang dapat mengakses database dari jaringan Anda di cluster.

# mysql -u root -p mariadb [(tidak ada)]> berikan semua hak istimewa di *.* Untuk 'root'@'%' diidentifikasi oleh 'kata sandi' dengan opsi hibah; Mariadb [(tidak ada)]> hak istimewa flush; Mariadb [(tidak ada)]> keluar 

dan hentikan layanan mariadb sebelum memulai konfigurasi cluster

# Layanan mysql berhenti 

Langkah 4: Konfigurasi Pengaturan Cluster di DB1

Mari kita mulai mengatur cluster mariadb galera dari server DB1. Edit File Konfigurasi Server MariaDB dan tambahkan nilai berikut di bawah [Mariadb] bagian.

[[email dilindungi] ~]# vim /etc /my.CNF.d/server.CNF 
query_cache_size = 0 binlog_format = baris default_storage_engine = innodb innodb_autoinc_lock_mode = 2 wsrep_provider =/usr/lib/galera/libgalera_smm.jadi wsrep_cluster_address = gComm: // 192.168.1.20.192.168.1.30 wsrep_cluster_name = "cluster1" wsrep_node_address = "192.168.1.10 "wsrep_node_name =" db1 "wsrep_sst_method = rsync wsrep_sst_auth = root: kata sandi 

Mulai Cluster Menggunakan Perintah berikut.

[[email dilindungi] ~]# /etc /init.d/mysql bootstrap bootstrap Mysql ... kesuksesan! 

Jika Anda mendapatkan masalah selama startup pemeriksaan file log kesalahan mariadb/var/lib/mysql/.berbuat salah

Langkah 5: Tambahkan DB2 di cluster mariadb

Setelah berhasil memulai cluster di DB1. Mulai Konfigurasi pada DB2. Edit File Konfigurasi Server MariaDB dan tambahkan nilai berikut di bawah [Mariadb] bagian. Semua pengaturan mirip dengan DB1 kecuali wsrep_node_address, wsrep_cluster_address dan wsrep_node_name.

[[email dilindungi] ~]# vim /etc /my.CNF.d/server.CNF 
 query_cache_size = 0 binlog_format = baris default_storage_engine = innodb innodb_autoinc_lock_mode = 2 wsrep_provider =/usr/lib/galera/libgalera_smm.jadi wsrep_cluster_address = gComm: // 192.168.1.10.192.168.1.30 wsrep_cluster_name = "cluster1" wsrep_node_address = "192.168.1.20 "wsrep_node_name =" db2 "wsrep_sst_method = rsync wsrep_sst_auth = root: kata sandi 

Mulai Cluster Menggunakan Perintah berikut.

[[email dilindungi] ~]# /etc /init.d/mysql mulai mulai mysql ... sukses! 

Langkah 6: Tambahkan DB3 di cluster mariadb

Server ini opsional, jika Anda hanya ingin dua server di cluster, Anda dapat mengabaikan langkah ini, tetapi Anda perlu menghapus IP server ketiga dari file konfigurasi DB1/DB2. Untuk menambahkan server ini membuat perubahan yang sama dengan DB2.

[[email dilindungi] ~]# vim /etc /my.CNF.d/server.CNF 
query_cache_size = 0 binlog_format = baris default_storage_engine = innodb innodb_autoinc_lock_mode = 2 wsrep_provider =/usr/lib/galera/libgalera_smm.jadi wsrep_cluster_address = gComm: // 192.168.1.10.192.168.1.20 wsrep_cluster_name = "cluster1" wsrep_node_address = "192.168.1.30 "wsrep_node_name =" db2 "wsrep_sst_method = rsync wsrep_sst_auth = root: kata sandi 

Mulai Cluster Menggunakan Perintah berikut.

[[email dilindungi] ~]# /etc /init.d/mysql mulai mulai mysql ... sukses! 

Langkah 7: Uji pengaturan cluster mariadb galera

Pada tahap ini, pengaturan cluster Anda telah selesai dan berjalan dengan benar. Sekarang Anda dapat menguji pengaturan cluster dengan membuat basis data dan tabel di server mana pun di cluster, itu akan segera mereplikasi ke semua server di cluster.

Gambar GIF di atas menunjukkan bahwa database direplikasi dengan benar untuk semua node cluster.