Tuesday, November 3, 2015

Clustering Database Dengan Percona XtraDB Cluster di Ubuntu 14.04




Pernahkah anda berfikir bagaimana System Database yang dimiliki oleh Facebook atau Twitter yang mempunyai banyak pengguna di seluruh dunia  ? Tentunya tidak cukup 1 Database saja untuk menyimpan milyaran data pengguna di seluruh dunia, pasti membutuhkan ruang yang cukup untuk menampungnya. Hal ini sebagai gambaran saja agar kita tahu .

Pada kesempatan kali ini saya akan menulis sedikit coretan mengenai instalasi dan konfigurasi XtraDB Cluster di Ubuntu 14.04

1) Masukkan GPG Key Percona Server
?
1
sudo apt-key adv --keyserver keys.gnupg.net --recv-keys 1C4CBDCDCD2EFD2A
2) Buka /etc/apt/sources.list menggunakan perintah nano atau lainnya, dan tambahkan baris ini di paling bawah.
?
1
2
deb http://repo.percona.com/apt precise main
deb-src http://repo.percona.com/apt precise main
3) Lakukan update pad server dengan print
?
1
sudo apt-get update
4) Memasang Percona XtraDB Cluster 5.6
?
1
sudo apt-get install percona-xtradb-cluster-56
5) Membuat 'sstuser' pada MySQL database. pertama anda harus masuk ke dalam mysql terlebih dahulu, biasanya perintahnya : mysql -u user -p lalu baru masukkan 3 perintah dibawah ini secara berurutan.
?
1
2
3
mysql> CREATE USER ’sstuser’@’localhost’ IDENTIFIED BY ’sstpassword’;
mysql> GRANT RELOAD, LOCK TABLES, REPLICATION CLIENT ON *.* TO ’sstuser’@’localhost’;
mysql> FLUSH PRIVILEGES;
6) Buat konfigurasii /etc/mysql/my.cnf di semuaa server yang akan dijadikan cluster . disini saya akan mengasumsikan menggunakan 2 server yang dijadikan cluster .Ubah 10.0.0.1,10.0.0.2  menjadi IP Adress yang akan dijadikan clustering.
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
[mysqld]
# Path to Galera library
wsrep_provider=/usr/lib/galera3/libgalera_smm.so
# Cluster connection URL
wsrep_cluster_address=gcomm://10.0.0.1,10.0.0.2
# In order for Galera to work correctly binlog format should be ROW
binlog_format=ROW
# MyISAM storage engine has only experimental support
default_storage_engine=InnoDB
# This changes how |InnoDB| autoincrement locks are managed and is a requirement for Galera
innodb_autoinc_lock_mode=2
# Authentication information for SST. Use the username/password you created in the previous step.
wsrep_sst_auth="sstuser:sstpassword"
# Data directory
datadir=/var/lib/mysql
# Temp directory
tmpdir=/tmp
# MySQL User
user=mysql
# Node #1 address
wsrep_node_address=10.0.0.1
# SST method
wsrep_sst_method=xtrabackup-v2
# Cluster name
wsrep_cluster_name=lawu_cluster
7) Restart MySQL pada server pertama (10.0.0.1)
?
1
sudo service mysql restart-bootstrap
8) Sekarang anda mask ke mysql dan pastikan anda melihat wresp_local_state, wresp_local_state_comment, wresp_cluster_size, wresp_cluster_status, wresp_connected and wresp_ready pada MySQL server 1 (10.0.0.1)
?
mysql> show status like 'wsrep%';
+------------------------------+-------------------------------------+
| Variable_name             | Value
+------------------------------+-------------------------------------+
| wsrep_local_state_uuid    | 8e4863b3-3c48-11e4-8c63-2be5c89c6340
| wsrep_local_state         | 1
| wsrep_local_state_comment | Synced
| wsrep_cluster_size        | 1
| wsrep_cluster_status      | Primary
| wsrep_connected           | ON
| wsrep_ready               | ON
+------------------------------+-------------------------------------+
Jika sama berarti bootstrapped anda sudah berhasil. 
8) Restart MySQL pada server yang kedua
?
1
sudo service mysql restart
9) Sekarang anda masuk ke mysql dan pastikan anda melihat wresp_local_state, wresp_local_state_comment, wresp_cluster_size, wresp_cluster_status, wresp_connected and wresp_ready pada MySQL server 2 (10.0.0.2)
?
mysql> show status like 'wsrep%';
+------------------------------+-------------------------------------+
| Variable_name             | Value
+------------------------------+-------------------------------------+
| wsrep_local_state_uuid    | 8e4863b3-3c48-11e4-8c63-2be5c89c6340
| wsrep_local_state         | 1
| wsrep_local_state_comment | Synced
| wsrep_cluster_size        | 3
| wsrep_cluster_status      | Primary
| wsrep_connected           | ON
| wsrep_ready               | ON
+------------------------------+-------------------------------------+
Jika sama berarti anda sudah berhasil
10) Sekarang coba anda buatt database di salah sat server dan Kemudiann  cek pada kedua server tersebut dengan masuk ke mysql masing2 , secara otomatis jika anda membuat database kan masuk ke dalam semua server cluster.
Sekian dari saya , akan saya lanjutkan di postingan berikutnya.. semoga bermanfaat

Artikel Terkait

Clustering Database Dengan Percona XtraDB Cluster di Ubuntu 14.04
4/ 5
Oleh

Berlangganan

Suka dengan artikel di atas? Silakan berlangganan gratis via email