Bỏ qua điều hướng
← Về danh sách bài viết
Hướng dẫn kỹ thuật

Cài đặt Galera 3 node trên CentOS 7

Nếu chưa biết cách cài đặt ra sao, bài viết này sẽ hướng dẫn cài đặt Galera 3 node trên CentOS 7 một cách chi tiết dễ hiểu nhất

Capture-1-300x90.png

Phần 1: Chuẩn bị

Tài nguyên:

Server

Network

Node 1

Eth0: 103.121.88.81 (Management) – Eth1: 10.10.10.86 (Cluster)

Node 2

Eth0: 103.121.88.82 (Management) – Eth1: 10.10.10.87 (Cluster)

Node 3

Eth0: 103.121.88.83 (Management) – Eth1: 10.10.10.88 (Cluster)

Mô hình:

Capture-1-300x90.png

Phần 2 Cài đặt Mariadb (10.4)

Thực hiện tương tự trên tất cả các node.

  • Khai báo kết nối các node trong file hosts:

echo "10.10.10.86 node1" >> /etc/hosts echo "10.10.10.87 node2" >> /etc/hosts echo "10.10.10.88 node3" >> /etc/hosts

  • Khai báo repo cài đặt Mariadb

echo '[mariadb] name = MariaDB baseurl = http://yum.mariadb.org/10.4/centos7-amd64 gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB gpgcheck=1' >> /etc/yum.repos.d/MariaDB.repo yum -y update

  • Cài đặt Mariadb và Galera được tích hợp

yum install -y mariadb mariadb-server

  • Tắt Mariadb

systemctl stop mariadb

Phần 3. Cấu hình Galera Cluster:

  1. Tại Node 1:

cp /etc/my.cnf.d/server.cnf /etc/my.cnf.d/server.cnf.bak

echo '[server] [mysqld] bind-address=0.0.0.0

[galera] wsrep_on=ON wsrep_provider=/usr/lib64/galera-4/libgalera_smm.so #add your node ips here wsrep_cluster_address="gcomm://10.10.10.86,10.10.10.86,10.10.10.86" binlog_format=row default_storage_engine=InnoDB innodb_autoinc_lock_mode=2 #Cluster name wsrep_cluster_name="portal_cluster" # Allow server to accept connections on all interfaces. bind-address=0.0.0.0 # this server ip, change for each server wsrep_node_address="10.10.10.86" # this server name, change for each server wsrep_node_name="node1" wsrep_sst_method=rsync [embedded] [mariadb] [mariadb-10.4] ' > /etc/my.cnf.d/server.cnf

Lưu ý:

  • wsrep_cluster_address: Danh sách các node thuộc Cluster, sử dụng địa chỉ IP Cluster
  • wsrep_cluster_name: Tên của Cluster
  • wsrep_node_address: Địa chỉ IP của node đang thực hiện
  • wsrep_node_name: Tên node đang thực hiện
  • Không được bật mariadb (Quan trọng, nếu không sẽ dẫn tới lỗi khi khởi tạo Cluster)

2. Tại Node 2:

cp /etc/my.cnf.d/server.cnf /etc/my.cnf.d/server.cnf.bak

echo '[server] [mysqld] bind-address=0.0.0.0

[galera] wsrep_on=ON wsrep_provider=/usr/lib64/galera-4/libgalera_smm.so #add your node ips here wsrep_cluster_address="gcomm://10.10.10.86,10.10.10.86,10.10.10.86" binlog_format=row default_storage_engine=InnoDB innodb_autoinc_lock_mode=2 #Cluster name wsrep_cluster_name="portal_cluster" # Allow server to accept connections on all interfaces. bind-address=0.0.0.0 # this server ip, change for each server wsrep_node_address="10.10.10.87" # this server name, change for each server wsrep_node_name="node2" wsrep_sst_method=rsync [embedded] [mariadb] [mariadb-10.4] ' > /etc/my.cnf.d/server.cnf

3. Tại node 3:

cp /etc/my.cnf.d/server.cnf /etc/my.cnf.d/server.cnf.bak

echo '[server] [mysqld] bind-address=0.0.0.0

[galera] wsrep_on=ON wsrep_provider=/usr/lib64/galera-4/libgalera_smm.so #add your node ips here wsrep_cluster_address="gcomm://10.10.10.86,10.10.10.86,10.10.10.86" binlog_format=row default_storage_engine=InnoDB innodb_autoinc_lock_mode=2 #Cluster name wsrep_cluster_name="portal_cluster" # Allow server to accept connections on all interfaces. bind-address=0.0.0.0 # this server ip, change for each server wsrep_node_address="10.10.10.87" # this server name, change for each server wsrep_node_name="node3" wsrep_sst_method=rsync [embedded] [mariadb] [mariadb-10.4] ' > /etc/my.cnf.d/server.cnf

4. Khởi động dịch vụ:

  • Tại node1, khởi tạo cluster

galera_new_cluster systemctl start mariadb systemctl enable mariadb

  • Tại node2, node3, chạy dịch vụ mariadb:

systemctl start mariadb systemctl enable mariadb

5. Kiểm tra kết quả:

text
[root@node1 ~]# mysql -u root -e "SHOW STATUS LIKE 'wsrep_cluster_size'"
+--------------------+-------+
| Variable_name      | Value |
+--------------------+-------+
| wsrep_cluster_size | 3     |
+--------------------+-------+