Dalam tutorial ini, saya akan menunjukkan cara menginstal dan mengkonfigurasi Percona XtraDB Cluster di server CentOS 7. Kami akan menggunakan Percona XtraDB Cluster 5.6 yang sepenuhnya kompatibel dengan MySQL dan Server Percona.
Percona adalah perusahaan ahli database MySQL dan MongoDB yang didirikan pada tahun 2006. Percona membangun dan memelihara perangkat lunak open source untuk MySQL dan MongoDB:Server Percona (server database untuk MySQL dengan peningkatan kinerja ketersediaan tinggi), Percona XtraDB Cluster (solusi ketersediaan tinggi untuk MySQL cluster), Server Percona untuk MongoDB dan alat lain untuk mengelola database seperti alat bantu Percona, alat pemantauan Percona, dan Percona XtraBackup.
Prasyarat
- 3 node server CentOS 7.
- Hak istimewa root.
- Pengetahuan dasar CentOS 7.
Langkah 1 - Siapkan file host
Hal pertama yang harus dilakukan adalah mengkonfigurasi nama host semua server. Saya memiliki 3 server dengan CentOS 7 seperti yang tercantum di bawah ini:
Node Server IP Hostname
Node1 - 192.168.43.36 percona1
Node2 - 192.168.43.166 percona2
Node3 - 192.168.4Hubungkan ke semua server dengan menggunakan terminal Anda:
ssh [dilindungi email]Jika Anda telah login ke semua server, edit file '/etc/hosts' di setiap server dengan vim:
vim /etc/hostsRekatkan konfigurasi host di bawah ini:
192.168.43.36 percona1
192.168.43.166 percona2
192.168.43.148 percona3Ganti alamat IP dengan yang cocok dengan konfigurasi jaringan lokal Anda. Simpan dan keluar.
Langkah 2 - Konfigurasi Firewalld
Firewalld adalah antarmuka firewall default baru di CentOS 7. Perintah firewall-cmd digunakan untuk mengonfigurasi firewall. Kita dapat mendefinisikan dan mengonfigurasi grup atau zona tertentu, atau kita dapat mengonfigurasi firewall untuk layanan seperti ssh, database MySQL, server web nginx/apache, dll.
Pada langkah ini, kita akan menggunakan firewalld untuk konfigurasi firewall. Kami akan menggunakan perintah 'firewall-cmd' untuk membuka port server percona dan port lain yang diperlukan untuk cluster.
Mulai firewalld dengan perintah systemctl ini:
systemctl start firewalldKemudian jalankan perintah di bawah ini untuk membuka port yang digunakan oleh server MySQL/percona:
firewall-cmd --zone=public --add-service=mysql --permanentSelanjutnya, tambahkan port lain untuk cluster dengan perintah di bawah ini:
firewall-cmd --zone=public --add-port=3306/tcp --permanent
firewall-cmd --zone=public --add-port=4567/tcp --permanent
firewall-cmd --zone=public --add-port=4568/tcp --permanent
firewall-cmd --zone=public --add-port=4444/tcp --permanent
firewall -cmd --zone=public --add-port=4567/udp --permanentMuat ulang aturan firewall:
firewall-cmd --reloadUntuk melihat daftar semua aturan firewall, gunakan opsi '--list-all':
firewall-cm --list-all
Langkah 3 - Instal Repositori dan Socat Epel
Untuk menjalankan Percona XtraDB Cluster di server, kita perlu menginstal socat, dan itu tersedia di epel-repository. Jadi kita perlu menginstal repositori Epel terlebih dahulu dan kemudian menginstal socat. Selanjutnya kita harus menghapus mariadb-libs dari server karena bertentangan dengan Cluster Percona XtraDB.
Instal epel-repository dan socat:
yum -y install epel-release
yum -y install socatHapus mariadb-libs untuk menghindari konflik paket antara mariadb-libs dan Percona XtraDB Cluster:
yum -y hapus mariadb-libsRepositori dan socat Epel telah diinstal.
Langkah 4 - Instal Percona XtraDB Cluster
Pada langkah ini, kita akan menginstal cluster Percona xtradb dengan semua dependensi paket. Kita perlu menambahkan repositori Percona untuk instalasi dan kemudian kita memulai server Percona dan mengkonfigurasi pengguna root dan kata sandi untuk server database.
Instal repositori Percona dengan yum:
yum -y instal http://www.percona.com/downloads/percona-release/redhat/0.1-3/percona-release-0.1-3.noarch.rpmSekarang instal cluster Percona XtraDB dan paket lain yang diperlukan untuk tutorial ini:
yum install Percona-XtraDB-Cluster-server-56 Percona-XtraDB-Cluster-client-56 Percona-XtraDB-Cluster-shared-56 percona-toolkit percona-xtrabackup Percona-XtraDB-Cluster-galera-3 rsync ncPercona XtraDB Cluster diinstal, mulai server Percona dengan perintah zhis systemctl:
systemctl start mysqlSelanjutnya, konfigurasikan kata sandi root untuk semua server percona/mysql:
mysql_secure_installationSetel kata sandi percona/mysql:
Masukkan kata sandi saat ini untuk root (masukkan untuk tidak ada):TEKAN ENTER
Tetapkan kata sandi root? [Y/n] Y
Kata sandi baru:KETIK SANDI ANDA
Masukkan ulang kata sandi baru:ULANGI SANDI
Hapus pengguna anonim? [Y/n] Y
Larang login root dari jarak jauh? [Y/n] Y
Muat ulang tabel hak istimewa sekarang? [Y/n] YCatatan:
Jalankan langkah 1 - 4 di semua 3 server CentOS.
Langkah 5 - Konfigurasikan Percona XtraDB Cluster
Pada langkah 4 kami telah menginstal Percona XtraDB Cluster dan mengonfigurasi kata sandi root untuk semua node server Percona/Mysql. Pada langkah ini, kita akan membuat user baru untuk otentikasi SST dan mengedit konfigurasi MySQL my.cnf di setiap server.
SST (State Snapshot Transfer) adalah salinan data lengkap dari satu server sebagai donor ke server lain sebagai joiner. Untuk autentikasi SST, kita perlu membuat pengguna baru bernama 'sstuser' dengan sandi '[email protected]'. Dan untuk metode SST, kita akan menggunakan xtrabackup-v2 sebagai ganti rsync. Harap gunakan sandi yang berbeda dan aman untuk cluster Anda!
Login ke percona/mysql shell di setiap server:
mysql -u root -p
KETIKA SANDI ANDADan buat 'sstuser' baru dengan sandi '[email protected]':
buat pengguna [email protected]'%' diidentifikasi dengan '[email protected]';
berikan semua pada *.* kepada [email protected]'%';
hak flush;
Kemudian hentikan layanan MySQL di setiap server sebelum mengedit file konfigurasi:
systemctl stop mysqlSelanjutnya, edit file konfigurasi mysql my.cnf di setiap server dengan editor vim.
Di Percona1 server:
vim /etc/my.cnfUbah semua baris 'wsrep' dengan konfigurasi di bawah ini:
wsrep_cluster_address =gcomm://
wsrep_provider =/usr/lib64/galera3/libgalera_smm.so
wsrep_slave_threads =8
wsrep_cluster_name =Cluster Percona XtraDB
wsrep_node_name =percona1
wsrep_node_address =percona1
wsrep_sst_method =xtrabackup-v2
wsrep_sst_auth pengguna yang diprakarsai >Simpan dan keluar.
Di Percona2 server:
vim /etc/my.cnfUbah semua baris 'wsrep' dengan konfigurasi di bawah ini:
wsrep_cluster_address =gComm:// percona1, percona3
wsrep_provider =/usr/lib64/galera3/libgalera_smm.so
wsrep_slave_threads =8
wsrep_slave_threads =8
WSREP =WSREP_SLAVE_THREADS =8
/>wsrep_node_name =percona2
wsrep_node_address =percona2
wsrep_sst_method =x =xSimpan dan keluar.
Di Percona3 server:
vim /etc/my.cnfUbah semua baris 'wsrep' dengan konfigurasi di bawah ini:
wsrep_cluster_address =gComm:// percona1, percona2
wsrep_provider =/usr/lib64/galera3/libgalera_smm.so
wsrep_slave_threads =8
wsrep_slave_threads =8
wsrePeder_scluster =8
wsrep_slave_threads =8
WSREP =CLAP_SLAVE_THREADS =8
/>wsrep_node_name =percona3
wsrep_node_address =percona3
wsrep_sst_method =x =xSimpan dan keluar.
Tangkapan layar dari percona2 server.
Langkah 6 - Mulai Server Cluster Percona XtraDB
Kami telah mengonfigurasi cluster Percona XtraDB di semua server, dan sekarang kami dapat memulai server.
Di server Percona1, mem-bootstrap atau menjalankan cluster:
systemctl start [dilindungi email]Selanjutnya, jalankan server Percona/MySQL pada server percona2 dan percona3 dengan perintah di bawah ini:
systemctl start mysqlpastikan tidak ada pesan error. Jika ada kesalahan setelah mengetik untuk memulai MySQL, periksa file log '/var/log/messages'.
Langkah 7 - Pengujian
Kita harus login ke shell percona/mysql di setiap server untuk menguji cluster Percona XtraDB.
Masuk ke shell Percona/MySQL di semua server/node:
mysql -u root -p
KETIKA SANDI ANDAMenguji Ketersediaan Tinggi dengan perintah mysql:
TAMPILKAN STATUS SEPERTI 'wsrep_local_state_comment';Coba perintah itu di setiap node, jika Anda melihat "Disinkronkan" hasilnya, node tersebut siap menangani traffic.
Menguji node cluster yang tersedia:
tampilkan status global seperti 'wsrep_cluster_size';Anda akan mendapatkan jumlah node saat ini di cluster Percona.
Untuk hasil lengkapnya, Anda bisa menggunakan perintah di bawah ini:
tampilkan status global seperti 'wsrep%';
Cara Menginstal dan Mengkonfigurasi OpenLiteSpeed dengan PHP 7.4 di CentOS 8 Cara membangun Cluster Penyimpanan Terdistribusi Ceph di CentOS 7Cent OS