使用CentOS7和MariaDB10.1来构建Galera集群

安装步骤

以下是在CentOS7上安装MariaDB10.1并启用Galera Cluster的步骤。

安装和配置MariaDB 10.1。

添加 Yum 软件源

# cat /etc/yum.repos.d/MariaDB.repo
[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.1/centos7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1

安装MariaDB

# yum --enablerepo=mariadb -y install MariaDB-server

设置文件

# cat /etc/my.cnf.d/galera.cnf
[galera]
# Mandatory settings
wsrep_on=ON
wsrep_provider=/usr/lib64/galera/libgalera_smm.so
wsrep_cluster_address="gcomm://{{all_ipaddress}}" 
wsrep_cluster_name="Galera_Cluster" 
wsrep_node_name="{{ inventory_hostname }}" 
wsrep_node_address="{{ ansible_host }}" 
binlog_format=row
default_storage_engine=InnoDB
    • {{all_ipaddress}} クラスタに参加するサーバのIPアドレスを , 区切りで並べたもの。動作しているサーバのIPが一つでもあればよい。例)192.168.1,10,192.168.1,11,192.168.1,12

 

    • {{ inventory_hostname }} サーバ自身のホスト名

 

    {{ ansible_host }} サーバ自身のIPアドレス

↑其实,ansible的配置文件模板

启动

1台目(最初に启动的服务器)

galera_new_cluster

2、3台目
可使用常规的MySQL启动方法

systemctl status mysql

关于启动方法

只有在wsrep_cluster_address中指定的IP地址列表中的某个IP地址未启动时,才能启动。
因此,第一台服务器需要使用特殊命令galera_new_cluster来启动。

第一个启动方式是,在网络上有很多旧信息。
设置`wsrep_cluster_address=”gcomm://”`是一种过时的方法。
使用`service mysql bootstrap`在CentOS上无法正常工作,因为它使用了systemd。
正确的方法是使用`galera_new_cluster`命令。
当集群正在运行时,停止和启动第一个节点时,只需要启动mysql服务即可。使用`galera_new_cluster`是在没有任何节点运行时启动的情况下使用的。

bannerAds