MariaDB10.4 Galera Cluster 集羣安裝

一。安裝環境:centos7、MariaDB 10.4 stable、3節點IP:192.168.56.122、192.168.56.123、192.168.56.124

二。集羣安裝

官網最新正式版地址:https://downloads.mariadb.org/mariadb/repositories/#mirror=shanghai-university&distro=CentOS&distro_release=centos7-amd64--centos7&version=10.4

官網安裝教程:https://mariadb.com/kb/en/library/yum/

從MariaDB 10.1版本開始,Galera Cluster支持已包含在標準MariaDB Server軟件包中。

在MariaDB 10.4及更高版本中,您還需要安裝該galera-4軟件包以獲取Galera 4 wsrep提供程序庫。

2.1 節點間配置通信,可參考:linux VM間配置ssh免密互信

vim /etc/hosts
192.168.56.122 centos122
192.168.56.123 centos123
192.168.56.124 centos124

2.2 每個節點下執行(配置yum源):

vim /etc/yum.repos.d/MariaDB.repo
# http://downloads.mariadb.org/mariadb/repositories/
[mariadb]
name = MariaDB
baseurl = https://mirrors.ustc.edu.cn/mariadb/yum/10.4/centos7-amd64 
gpgkey=https://mirrors.ustc.edu.cn/mariadb/yum/RPM-GPG-KEY-MariaDB 
gpgcheck=1

保存配置:Esc後輸入“:wq”;刷新:yum clean all;yum makecache

注意:baseurl和gpgkey不是官網給的地址(國外鏡像很慢),改成了國內鏡像地址。或者改成:

baseurl = https://ipv4.mirrors.ustc.edu.cn/mariadb/yum/10.4/centos7-amd64
gpgkey=https://ipv4.mirrors.ustc.edu.cn/mariadb/yum/RPM-GPG-KEY-MariaDB

2.3 每個節點下安裝MariaDB:

yum install MariaDB-server MariaDB-client galera-4 -y

三。集羣啓動

3.1 每個節點下修改server配置:

[root@centos122 ~]# vim /etc/my.cnf.d/server.cnf
[galera]
# Mandatory settings
wsrep_on=ON
wsrep_provider=/usr/lib64/galera-4/libgalera_smm.so
wsrep_cluster_address="gcomm://192.168.56.122,192.168.56.123,192.168.56.124" #整個集羣的IP地址
binlog_format=row
default_storage_engine=InnoDB
innodb_autoinc_lock_mode=2
#
# Allow server to accept connections on all interfaces.
#
#bind-address=0.0.0.0
#
# Optional setting
#wsrep_slave_threads=1
#innodb_flush_log_at_trx_commit=0
wsrep_provider_options="gcache.size=1G"
wsrep_cluster_name=MariaDB-Galera-Cluster #集羣名稱
wsrep_node_name=centos122 #hostname,對應前面網路配置/etc/hosts
wsrep_node_address=192.168.56.122 #機器IP地址
wsrep_sst_method=rsync #同步方式

除wsrep_node_name、wsrep_node_address每個節點不同,其它配置相同。

注意:wsrep_provider=/usr/lib64/galera-4/libgalera_smm.so中的目錄是galera-4(MariaDB 10.4之前是galera),否則報錯

[ERROR] wsrep_load(): dlopen(): /usr/lib64/galera/libgalera_smm.so: cannot open shared object file: No... directory
[ERROR] WSREP: Failed to create a new provider '/usr/lib64/galera/libgalera_smm.so' with optio...ep library

3.2 啓動集羣:

去第一個122節點啓動集羣(底層調用的是mysqld --wsrep-new-cluster命令):

galera_new_cluster

然後去其它2節點啓動mariadb(底層調用的是/bin/systemctl start mariadb.service命令,會自動加入集羣中):

service mariadb start

查看日誌:

systemctl status mariadb.service
Jul 10 10:40:52 centos122 mysqld[2085381]: 0: 1e2b23d4-a22c-11e9-9bc6-23944a901828, centos123
Jul 10 10:40:52 centos122 mysqld[2085381]: 1: 55ae61f3-a22c-11e9-ba18-4b92bba70395, centos124
Jul 10 10:40:52 centos122 mysqld[2085381]: 2: c123f182-a22b-11e9-ba00-7f7033924971, centos122
Jul 10 10:40:52 centos122 mysqld[2085381]: =================================================
Jul 10 10:40:52 centos122 mysqld[2085381]: 2019-07-10 10:40:52 3 [Note] WSREP: wsrep_notify_cmd is not defined, skipping notification.
Jul 10 10:40:52 centos122 mysqld[2085381]: 2019-07-10 10:40:52 0 [Note] WSREP: 0.0 (centos123): State transfer to 1.0 (centos124) complete.
Jul 10 10:40:52 centos122 mysqld[2085381]: 2019-07-10 10:40:52 0 [Note] WSREP: Member 0.0 (centos123) synced with group.
Jul 10 10:40:54 centos122 mysqld[2085381]: 2019-07-10 10:40:54 0 [Note] WSREP: (c123f182, 'tcp://0.0.0.0:4567') turning message relay requesting off
Jul 10 10:40:59 centos122 mysqld[2085381]: 2019-07-10 10:40:59 0 [Note] WSREP: 1.0 (centos124): State transfer from 0.0 (centos123) complete.
Jul 10 10:40:59 centos122 mysqld[2085381]: 2019-07-10 10:40:59 0 [Note] WSREP: Member 1.0 (centos124) synced with group.

可看到123、124節點加入到122創建的mysql集羣的日誌信息。

查看mysql進程狀態:

[root@centos122 galera-4]# ps aux | grep mysql
mysql    2085381  0.4  0.1 3540764 106680 ?      Ssl  17:27   0:05 /usr/sbin/mysqld --wsrep-new-cluster --wsrep_start_position=00000000-0000-0000-0000-000000000000:-1

四。集羣常用命令

登錄數據庫,查看集羣成員數(SHOW STATUS LIKE"wsrep_cluster_size"):

[root@centos122 galera-4]# mysql
MariaDB [(none)]> show status like 'wsrep_cluster%';
+----------------------------+--------------------------------------+
| Variable_name              | Value                                |
+----------------------------+--------------------------------------+
| wsrep_cluster_weight       | 3                                    |
| wsrep_cluster_capabilities |                                      |
| wsrep_cluster_conf_id      | 18446744073709551615                 |
| wsrep_cluster_size         | 3                                    |
| wsrep_cluster_state_uuid   | c1434da2-a22b-11e9-97bd-2fcc5b042cda |
| wsrep_cluster_status       | Primary                              |
+----------------------------+--------------------------------------+

補充:

關閉防火牆

[root@node1 ~]# systemctl stop firewalld 
[root@node1 ~]# systemctl disable firewalld

關閉SELINUX

[root@node1 ~]# vi /etc/selinux/config 
修改成如下: 
SELINUX=disabled

卸載MariaDB:

[root@centos122 galera-4]# ps aux | grep mysql
mysql    2085381  0.3  0.1 3540764 106944 ?      Ssl  17:27   0:07 /usr/sbin/mysqld --wsrep-new-cluster --wsrep_start_position=00000000-0000-0000-0000-000000000000:-1
root     2206822  0.0  0.0 112712   984 pts/1    S+   17:59   0:00 grep --color=auto mysql
[root@centos122 galera-4]# kill -9 2085381
yum -y remove Maria*
rm -rf /var/lib/mysql/*
rm -rf /etc/my.cnf.d/
rm -rf /etc/my.cnf

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章