MariaDB glare cluster集群部署

第1章 mariadb galera cluster集群部署
1.1 统一主机环境
修改vim /etc/hostname文件,规范主机名,和IP地址

主机名 Mysql01 Mysql02 Mysql03
IP地址 10.0.102.176 10.0.102.217 10.0.102.216

三台服务器环境都一致

[root@mysql01 ~]# cat /etc/redhat-release

CentOS release 6.6 (Final)

查看系统版本

[root@mysql03 ~]# uname -a

Linux mysql03 2.6.32-504.el6.x86_64 #1 SMP Wed Oct 15 04:27:16 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux

在/etc/hosts文件内添加解析


10.0.102.176             mysql01

10.0.102.217             mysql02

10.0.102.216             mysql03

1.2 mariadb galera cluster安装和配置
默认所有的主机都需要执行

1.2.1 安装MariaDB
Mariadb的版本 MariaDB 10.2.6

安装mariadb

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

启动MariaDB

service mysql start

执行MariaDB初始化脚本

mysql_secure_installation

创建用于节点的账户

MariaDB [(none)]>grant all privileges on *.* to sst@'%' identified by "123";

flush privileges  //刷新权限

配置MariaDB glare cluster集群,在10.0.102.176主机上操作。

1.创建wsrep.cnf文件

cp /usr/share/mysql/wsrep.cnf  /etc/my.cnf.d/

vim /etc/my.cnf.d/wsrep.cnf

wsrep_provider=/usr/lib64/galera/libgalera_smm.so

集群中的其他节点地址:可以是IP和用户名

wsrep_cluster_address="gcomm://"

wsrep_sst_method=rsync

节点的数据库账户和密码

wsrep_sst_auth=sst:123 

参数介绍

"gcomm://" 是特殊的地址,仅仅是Galera cluster初始化启动时候使用。

如果集群启动以后,我们关闭了第一个节点,那么再次启动的时候必须先修改

"gcomm://"为其他节点的集群地址,例如

wsrep_cluster_address="gcomm://10.0.102.217:4567"

2.修改/etc/my.cnf.d/server.cnf

vim /etc/my.cnf.d/server.cnf

[galera]

wsrep_on=ON

MariaDB10.1之后wsrep默认值为OFF,即需设置为ON(mariadb10.1之前默认值为on),否则节点中的任何事务都不会复制到群集中的其他节点。

3.确认mysql的3306端口和wsrep的4567端口处于监听状态

netstat -antlp|grep -e 4567 -e 3306

在10.0.102.217的主机上重复步骤1 2 3,只修改步骤2中

wsrep_cluster_address="gcomm:// 10.0.102.217:4567"

在10.0.102.216重复步骤1 2 3只修改步骤2中

wsrep_cluster_address="gcomm://10.0.102.176:4567,10.0.102.217:4567"

新节点只需要连接到其中一个现有成员。它将自动检索群集映射并重新连接到其余节点,当然最好列出群集的所有节点,以便任何节点都可以加入连接到任何其他节点的群集,即使一个或多个节点已关闭。

1.3 启动 MariaDB Galera Cluster 服务

[root@mysql01 ~]# mysqld --wsrep-new-cluster --user=root &

出现 ready for connections ,证明我们启动成功。

150701 19:54:17 [Note] WSREP: wsrep_load(): loading provider library 'none'

150701 19:54:17 [Note] /usr/libexec/mysqld: ready for connections.

Version: '5.5.40-MariaDB-wsrep' socket: '/var/lib/mysql/mysql.sock' port: 3306 MariaDB Server, wsrep_25.11.r4026

继续启动其他节点:

service start mysql

警告􀀀:--wsrep-new-cluster 这个参数只能在初始化集群使用,且只能在一个节点使用。

1.3.1 验证服务

[root@mysql01 backup]# netstat -antlp|grep -e 3306 -e 4567

tcp        0      0 0.0.0.0:4567                0.0.0.0:*                   LISTEN      31968/mysqld       

tcp        0      0 0.0.0.0:3306                0.0.0.0:*                   LISTEN      31968/mysqld       

tcp        0      0 10.0.102.176:4567           10.0.102.217:8008           ESTABLISHED 31968/mysqld       

tcp        0      0 10.0.102.176:4567           10.0.102.216:5224           ESTABLISHED 31968/mysqld

登录mysql控制台查看服务

MariaDB [(none)]>  show status like 'wsrep%';

wsrep_cluster_size | 3

wsrep_incoming_addresses | 10.0.102.216:3306,10.0.102.217:3306,10.0.102.176:3306

wsrep_ready          | ON

至此,我们的 MariaDB Galera Cluster 已经成功部署。

posted @ 2019-05-21 20:55  凄夜听雨  阅读(484)  评论(0编辑  收藏  举报