Membangun MariaDB Galera Cluster di Centos 7

MariaDB Galera Cluster merupakan cluster yang bersifat synchronous multi-master dan hanya tersedia di Linux yang memungkinkan untuk menjalankan mesin database berbasis MariaDB yang bersifat:

  • mempunyai performance tinggi dengan latency yang rendah
  • mendukung high availability
  • mempunyai skalabilitas yang baik untuk memenuhi kebutuhan yang terus berkembang

MariaDB Galera cluster pada saat ini hanya mendukung tipe penyimpanan XtraDB dan InnoDB saja, meskipun bisa juga untuk tipe MyISAM, tetapi masih dalam tahap eksperiment dan sebaiknya tidak digunakan untuk keperluan produki.

Pada artikel ini akan dijelaskan bagaimana membangun MariaDB Galera Cluster 10.3 yang terdiri dari 3 nodes Linux CentOS 7. Ketiga nodes CentOS 7 tersebut diberikan IP address dan hostname sebagai berikut:

HostnameIP Address
Cluster Node 1galera-01.training.net192.168.243.11
Cluster Node 2 galera-02.training.net 192.168.243.12
Cluster Node 3 galera-03.training.net 192.168.243.13

Catatan: pada artikel ini dianggap 3 nodes Linux CentOS 7 sudah terinstall sehingga tidak dijelaskan kembali proses instalasinya. IP Address dan hostname yang diberikan hanya sebagai contoh, dan dapat diganti menyesuaikan kebutuhan.

1. Lakukan update terhadap ketiga node Linux CentOS 7

Terlebih dahulu kita lakukan update paket yang ada di sistem Linux CentOS 7 dengan perintah:

#yum update

2. Tambahkan MariaDB 10.3.14 repository di ketiga node Linux CentOS 7

Tambahkan repository MariaDB 10.3.14 ke dalam Linux CentOS 7 dengan membuat file baru /etc/yum/repos.d/MariaDB.repo

#nano /etc/yum.repos.d/MariaDB.repo

Kemudian copy paste baris di bawah, dan simpan.

[mariadb]
name = MariaDB-10.3.14
baseurl=http://yum.mariadb.org/10.3.14/centos7-amd64
# alternative: baseurl=http://archive.mariadb.org/mariadb-10.3.14/yum/centos7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1

Kemudian jalankan perintah di bawah ini:

#yum clean all

Lakukan impoort MariaDB GPG Public Key untuk MariaDB repository

#rpm --import https://yum.mariadb.org/RPM-GPG-KEY-MariaDB

3. Menginstall MariaDB Server dan Galera di semua node Linux CentOS 7

Perhatikan bahwa di sini kita menggunakan MariaDB versi 10.3.14. Jalankan perintah di bawah ini untuk mulai menginstall MariaDB dan Galera Cluster:

#yum install -y mariadb-server galera

4. Setup MariaDB Galera Cluster di semua node

Edit file konfigurasi MariaDB yang ada di node pertama (hostname galera-01).

#nano /etc/my.cnf.d/server.cnf

Tambahkan baris berikut pada bagian [galera] dan simpan perubahan.

[galera]
 #Mandatory settings
 wsrep_on=ON
 wsrep_provider=/usr/lib64/galera/libgalera_smm.so
 wsrep_cluster_address=gcomm://192.168.243.11,192.168.243.12,192.168.243.13
 binlog_format=row
 default_storage_engine=InnoDB
 innodb_autoinc_lock_mode=2

Lakukan langkah (4) di semua node yang lain (galera-02 dan galera-03)

5. Start Galera Cluster di mesin galera-01.training.net

Jalankan Galera Cluster di mesin galera-01.training.net dengan perintah:

#galera_new_cluster

6. Start service MariaDB di semua node (galera-01, galera-02 dan galera-03)

#systemctl start mysql

Jika service berhasil dijalankan, maka Galera Cluster seharusnya sudah sukses dikonfigurasi.

7. Setting root password database MariaDB pada setiap node

Lakukan perintah ini pada semua node, untuk memberikan password user root pada database MariaDB:

#mysql_secure_installation

8. Login sebagai root ke mesin MariaDB pada setiap node untuk melihat status wsrep_cluster_size

#mysql -u root -p

Dari gambar di atas, status dari wsrep_cluster_size menunjukkan bahwa semua node sudah terhubung ke dalam Galera Cluster.

9. Verifikasi port untuk replikasi sudah aktif

Lakukan verifikasi port untuk replikasi dan pastikan sudah aktif (established):

#lsof -i:4567

10. Melakukan pengetesan replikasi

Selanjutnya untuk melihat apakah replikasi dapat berjalan di semua node, kita akan mencoba untuk membuat sebuah database pada salah satu node (dalam hal ini dilakukan di node galera-03).

Database ini seharusnya juga secara otomatis akan dibuat di node yang lain (galera-01 dan galera-02).

#mysql -u root -p
Spread the love

You may also like...

Leave a Reply

Your email address will not be published. Required fields are marked *