GNU/Linux >> Belajar Linux >  >> Linux

Cara Menginstal dan Mengkonfigurasi MariaDB Galera Cluster di Ubuntu 18.04

Pengelompokan basis data adalah proses menggabungkan beberapa server dengan menghubungkannya ke satu basis data. Clustering meningkatkan ketersediaan database Anda dengan mendistribusikan beban ke server yang berbeda. Jika ada server yang gagal, server lain akan segera tersedia untuk terus melayani.

MariaDB Galera adalah solusi pengelompokan multi-master yang memungkinkan Anda membaca dan menulis ke node mana pun di dalam cluster. Dengan MariaDB Galera, perubahan yang dilakukan pada satu node direplikasi ke semua node. MariaDB Galera mendukung mesin penyimpanan XtraDB/InnoDB dan hanya tersedia di Linux.

Fitur

  • Topologi multi-master aktif-aktif
  • Penggabungan simpul otomatis
  • Kemampuan membaca dan menulis ke node cluster mana pun
  • Kontrol keanggotaan otomatis, node yang gagal dikeluarkan dari cluster
  • Penyediaan simpul otomatis

Dalam tutorial ini, kami akan menunjukkan cara menyiapkan cluster MariaDB Galera tiga simpul di Ubuntu 18.04.

Prasyarat

  • Tiga VPS Ubuntu 18.04 baru di Atlantic.Net Cloud Platform.
  • Kata sandi root yang dikonfigurasi di semua server.

Untuk tujuan tutorial ini, kita akan menggunakan tiga server dengan konfigurasi sebagai berikut:

server1 :192.168.0.101
server2 :192.168.0.102
server3 :192.168.0.103

Langkah 1 – Buat Server Cloud Atlantic.Net

Pertama, masuk ke Server Cloud Atlantic.Net Anda. Buat server baru, pilih Ubuntu 18.04 sebagai sistem operasi dengan setidaknya 2GB RAM. Hubungkan ke Server Cloud Anda melalui SSH dan masuk menggunakan kredensial yang disorot di bagian atas halaman.

Setelah Anda masuk ke server Ubuntu 18.04 Anda, jalankan perintah berikut untuk memperbarui sistem dasar Anda dengan paket terbaru yang tersedia.

apt-get update -y

Langkah 2 – Instal Server MariaDB di Semua Server

Pertama, tambahkan kunci repositori MariaDB dengan perintah berikut:

apt-get install software-properties-common
apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xF1656F24C74CD1D8

Selanjutnya, tambahkan repositori menggunakan perintah berikut:

add-apt-repository "deb [arch=amd64,arm64,ppc64el] http://mariadb.mirror.liquidtelecom.com/repo/10.4/ubuntu $(lsb_release -cs) main"

Setelah repositori ditambahkan, perbarui repositori dengan perintah berikut:

apt-get update -y

Terakhir, instal server MariaDB dengan perintah berikut:

apt-get install mariadb-server -y

Dimulai dengan versi 10.1, fitur kluster Galera digabungkan ke dalam MariaDB. Paket MariaDB Galera Server secara otomatis diinstal dengan server MariaDB.

Anda dapat mengaturnya dengan perintah berikut:

mysql_secure_installation

Jawab semua pertanyaan, seperti yang ditunjukkan di bawah ini:

Enter current password for root (enter for none): Provide your root user password
Switch to unix_socket authentication [Y/n] n
Change the root password? [Y/n] Y
New password:
Re-enter new password:
Remove anonymous users? [Y/n] Y
Disallow root login remotely? [Y/n] Y
Remove test database and access to it? [Y/n] Y
Reload privilege tables now? [Y/n] Y

Catatan :Harap ulangi langkah di atas pada ketiga server.

Langkah 3 – Konfigurasikan Setiap Server di Cluster

Pada titik ini, kami telah menginstal dan mengkonfigurasi server MariaDB di setiap server. Selanjutnya, Anda perlu mengonfigurasi kluster Galera untuk berkomunikasi antar server. Untuk melakukannya, Anda perlu membuat file konfigurasi umum di setiap server.

Di bagian ini, kami akan menunjukkan cara mengonfigurasi setiap server di cluster.

Konfigurasi Server Pertama

Pertama, login ke server pertama dan buat file konfigurasi Galera dengan perintah berikut:

nano /etc/mysql/conf.d/galera.cnf

Tambahkan baris berikut (pastikan Anda memasukkan alamat IP server Anda sendiri):

[mysqld]
binlog_format=ROW
default-storage-engine=innodb
innodb_autoinc_lock_mode=2
bind-address=0.0.0.0

# Galera Provider Configuration
wsrep_on=ON
wsrep_provider=/usr/lib/galera/libgalera_smm.so

# Galera Cluster Configuration
wsrep_cluster_name="galera_cluster"
wsrep_cluster_address="gcomm://192.168.0.101,192.168.0.102,192.168.0.103"

# Galera Synchronization Configuration
wsrep_sst_method=rsync

# Galera Node Configuration
wsrep_node_address="192.168.0.101"
wsrep_node_name="server1"

Simpan dan tutup file setelah Anda selesai. Selanjutnya, Anda dapat melanjutkan ke server kedua.

Konfigurasi Server Kedua

Selanjutnya, login ke server kedua dan buat file konfigurasi Galera dengan perintah berikut:

nano /etc/mysql/conf.d/galera.cnf

Tambahkan baris berikut:

[mysqld]
binlog_format=ROW
default-storage-engine=innodb
innodb_autoinc_lock_mode=2
bind-address=0.0.0.0

# Galera Provider Configuration
wsrep_on=ON
wsrep_provider=/usr/lib/galera/libgalera_smm.so

# Galera Cluster Configuration
wsrep_cluster_name="galera_cluster"
wsrep_cluster_address="gcomm://192.168.0.101,192.168.0.102,192.168.0.103"

# Galera Synchronization Configuration
wsrep_sst_method=rsync

# Galera Node Configuration
wsrep_node_address="192.168.0.102"
wsrep_node_name="server2"

Simpan dan tutup file setelah Anda selesai. Selanjutnya, Anda dapat melanjutkan ke server ketiga.

Konfigurasi Server Ketiga

Selanjutnya, login ke server ketiga dan buat file konfigurasi Galera dengan perintah berikut:

nano /etc/mysql/conf.d/galera.cnf

Tambahkan baris berikut:

[mysqld]
binlog_format=ROW
default-storage-engine=innodb
innodb_autoinc_lock_mode=2
bind-address=0.0.0.0

# Galera Provider Configuration
wsrep_on=ON
wsrep_provider=/usr/lib/galera/libgalera_smm.so

# Galera Cluster Configuration
wsrep_cluster_name="galera_cluster"
wsrep_cluster_address="gcomm://192.168.0.101,192.168.0.102,192.168.0.103"

# Galera Synchronization Configuration
wsrep_sst_method=rsync

# Galera Node Configuration
wsrep_node_address="192.168.0.103"
wsrep_node_name="server3"

Simpan dan tutup file setelah Anda selesai.

Pada titik ini, kami telah mengonfigurasi ketiga server untuk berkomunikasi satu sama lain.

Langkah 4 – Inisialisasi Cluster Galera

Sebelum memulai cluster, Anda harus menghentikan layanan MariaDB di semua server.

Jalankan perintah berikut untuk menghentikan layanan MariaDB di semua server.

systemctl stop mariadb

Selanjutnya, inisialisasi cluster di node pertama dengan perintah berikut:

galera_new_cluster

Perintah di atas akan memulai cluster dan menambahkan server1 ke cluster.

Anda dapat memeriksanya dengan perintah berikut:

mysql -u root -p -e "SHOW STATUS LIKE 'wsrep_cluster_size'"
Enter password:

Berikan kata sandi root Anda dan tekan Enter. Anda akan melihat output berikut:

+--------------------+-------+
| Variable_name      | Value |
+--------------------+-------+
| wsrep_cluster_size | 1     |
+--------------------+-------+

Selanjutnya, buka server kedua dan mulai layanan MariaDB:

systemctl start mariadb

Selanjutnya, verifikasi ukuran cluster Anda dengan perintah berikut:

mysql -u root -p -e "SHOW STATUS LIKE 'wsrep_cluster_size'"
Enter password:

Berikan kata sandi root Anda dan tekan Enter. Anda akan melihat bahwa server kedua telah bergabung dengan cluster.

+--------------------+-------+
| Variable_name      | Value |
+--------------------+-------+
| wsrep_cluster_size | 2     |
+--------------------+-------+

Selanjutnya, buka server ketiga dan mulai layanan MariaDB:

systemctl start mariadb

Selanjutnya, verifikasi ukuran cluster Anda dengan perintah berikut:

mysql -u root -p -e "SHOW STATUS LIKE 'wsrep_cluster_size'"
Enter password:

Berikan kata sandi root Anda dan tekan Enter. Anda akan melihat bahwa server ketiga telah bergabung dengan cluster.

+--------------------+-------+
| Variable_name      | Value |
+--------------------+-------+
| wsrep_cluster_size | 3     |
+--------------------+-------+

Langkah 5 – Uji Replikasi Cluster Galera

Cluster Galera Anda sekarang aktif dan berjalan. Saatnya menguji dan melihat apakah replikasi berfungsi.

Untuk melakukannya, buat database di server pertama dan periksa apakah database telah direplikasi ke server lain.

Di server1, masuk ke shell MySQL dengan perintah berikut:

mysql -u root -p

Berikan kata sandi root Anda saat diminta, lalu buat database dengan perintah berikut:

create database replicadb;
create database mydb;

Selanjutnya, keluar dari shell MySQL dengan perintah berikut:

exit;

Di server2, masuk ke shell MySQL dengan perintah berikut:

mysql -u root -p

Berikan kata sandi root Anda saat diminta dan periksa apakah databasenya ada.

show databases;

Anda akan mendapatkan output berikut:

+--------------------+
| Database           |
+--------------------+
| information_schema |
| mydb               |
| mysql              |
| performance_schema |
| replicadb          |
+--------------------+

Di server3, masuk ke shell MySQL dengan perintah berikut:

mysql -u root -p

Berikan kata sandi root Anda saat diminta dan periksa apakah databasenya ada.

show databases;

Anda akan mendapatkan output berikut:

+--------------------+
| Database           |
+--------------------+
| information_schema |
| mydb               |
| mysql              |
| performance_schema |
| replicadb          |
+--------------------+

Output di atas dengan jelas menunjukkan bahwa replikasi bekerja dengan benar.

Kesimpulan

Selamat! Anda telah berhasil menginstal dan mengonfigurasi cluster MariaDB Galera tiga simpul di Ubuntu 18.04 VPS. Anda sekarang harus memiliki pengetahuan yang cukup untuk menyiapkan klaster MariaDB Galera di lingkungan produksi. Anda dapat mengunjungi Dokumentasi Galera MariaDB untuk informasi lebih lanjut.


Linux
  1. Cara Menginstal dan Mengkonfigurasi Server DHCP di Ubuntu 20.04

  2. Cara Menginstal Dan Mengkonfigurasi Server Redis Di Ubuntu

  3. Cara Menginstal dan Mengonfigurasi Server OpenVPN di Ubuntu 20.04

  1. Cara Menginstal MariaDB Galera Cluster di Ubuntu 16.04

  2. Cara menginstal dan Mengkonfigurasi Mariadb 10 di Ubuntu 20.04

  3. Cara Menginstal dan Mengonfigurasi StrongSwan VPN di Ubuntu 18.04

  1. Cara Menginstal dan Mengonfigurasi Server NFS di Ubuntu 20.04

  2. Bagaimana Cara Menginstal dan Mengonfigurasi Fail2ban di Ubuntu?

  3. Cara Menginstal MariaDB di Ubuntu 22.04