
Melanjutkan tutorial sebelumnya yang dimana sebelumnya kita sudah melakukan setup cluster galera mariadbnya, nah selanjutnya kita akan setup server loadbalancenya supaya otmatis membagi koneksi secara merata dan juga ketika salah satu down secara otomatis juga di koneksikan keserver yang aktif. Mari kita mulai beberapa tahapan diserver loadbalance, berikut tahapannya
1. Install HAPROXY di server loadbalance.
yum install -y haproxy
2. Aktifkan service haproxy supaya ketika server restart autostart untuk haproxy nya.
systemctl enable haproxy
3. Server HAPROXY disini diposisikan sebagai mysql-client jadi supaya kita bisa terkoneksi ke cluster database1 & database2 kita harus menginstall package mysql-client, tambahkan repo mariadb .
vim /etc/yum.repos.d/mariadb.repo
4. Isikan Repo MariaDB nya dengan repo dibawah ini :
[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.9/centos7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1
5. Install MariaDB-Client nya.
yum install MariaDB-client
6. Setelah terinstall coba test koneksi disini saya test koneksi ke server database1 dengan ip 192.168.10.19
mysql -u root -p -h 192.168.10.19
Respon dari syntak diatas kalo saya menemukan kendala sepeti ini :
ERROR 1130 (HY000): Host '192.168.10.18' is not allowed to connect to this MariaDB server
Cara menyelesaikan kendala diatas kita bisa tambahkan user baru di salahsatu server database cluster kita, contoh disini saya menambahkan user dengan nama user admin
CREATE USER 'admin'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON *.* TO 'admin'@'localhost'
CREATE USER 'admin'@'%' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON *.* TO 'admin'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;
7. Coba kita test koneksi lagi dengan user admin
mysql -u admin -p -h 192.168.10.19
Output responnya seperti ini harusnya :
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 12
Server version: 10.9.4-MariaDB MariaDB Server
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [(none)]>
8. Berarti server Loadbalance sudah terkoneksi ke server database1, selanjutnya mari kita konfigurasi haproxynya, silahkan copy konfigurasi dibawah ini dan sesuaikan ipnya dengan server yang kalian punya.
vim /etc/haproxy/haproxy.cfg
Isikan konfigurasinya contoh konfigurasinya seperti ini :
global
log 127.0.0.1 local0 notice
chroot /var/lib/haproxy
pidfile /var/run/haproxy.pid
user haproxy
group haproxy
maxconn 4096
daemon
defaults
log global
retries 2
timeout connect 3000
timeout server 5000
timeout client 5000
listen mysql-cluster
bind 0.0.0.0:3306
mode tcp
option tcpka
balance roundrobin
server mysql-1 192.168.10.19:3306 check inter 1000 rise 3 fall 1
server mysql-2 192.168.10.20:3306 check inter 1000 rise 3 fall 1
listen stats
bind 192.168.10.18:8080
mode http
stats enable
stats uri /
stats realm Strictly\ Private
stats auth USER:PASSWORD
9. Restart Service HAPROXY
systemctl restart haproxy
10. Akses Server Loadbalance HAPROXY lewat browser untuk monitoring trafiknya.
11. Jika tampil kotak dialog seperti gambar diatas berarti HAPROXY sudah sukses konfigurasinya, tinggal coba kita massukan username & password HAPROXY nya, lalu klick Sign In maka akan dapat respon seperti ini :
Demikianlah artikel tentang Loadbalance HAPROXY untuk Galera Cluster MariaDB, jika menemukan kendala halaman loadbalance tidak kebuka kalian bisa disable SELINUX dan DISABLE FIREWALLD biasanya keblock tapi saya tidak sarankan untuk mode production disable selinux dan juga disable firewalld, jadi ini untuk mengerti secara konsep dulu aja. Mungkin bertanya - tanya bagaimana penggunaan keaplikasinya, misalkan disini saya punya aplikasi berbasih web base menggunakan PHP baha pemograman nya nah dari PHP kita tinggal koneksikan aja databasenya ke loadbalance maka secara otomatis loadbalance akan mengaturnya. Semoga bermanfaat artikel pendeknya.
Comments