一、环境准备
1、各主机配置静态域名解析:
cat /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.210.131 node1 node1.test.com
192.168.210.130 node2 node2.test.com
192.168.210.132 node3 node3.test.com
2、并配置各节点ssh无密钥登陆
3、安装docker环境
wget http://download2.yunwei.edu/shell/docker.tar.gz
tar zxf docker.tar.gz
cd docker
sh docker
4、下载
配置文件并且导入镜像
wget http://download2.yunwei.edu/shell/
galera.tar.gz
tar zxf
galera.tar.gz
docker load -i mariadb-
galera.tar
mkdir mkdir /opt/mariadb
#######将con
fig.tar.gz 解压后,mv到mkdir /opt/mariadb,
tar zxf con
fig.tar.gz && mv con
fig /opt/mariadb/
二、配置集群
#######node1
docker run -d --net host --name
galera1 \
-e WSREP_NODE_ADDRESS=192.168.210.131 \
-e WSREP_CLUSTER_ADDRESS=
gcomm://192.168.210.131:4567,192.168.210.130:4567,192.168.210.132:4567 \
-p 3306:3306 \
-p 4567:4567/udp \
-p 4567-4568:4567-4568 \
-p 4444:4444 \
-v /opt/mariadb/con
fig/
MysqL:/etc/
MysqL \
-v /opt/mariadb/con
fig/data:/var/lib/
MysqL:Z \
--restart=always \
panubo/mariadb-
galera
MysqLd
#######node2
docker run -d --net host --name
galera2 \
-e WSREP_NODE_ADDRESS=192.168.210.130 \
-e WSREP_CLUSTER_ADDRESS=
gcomm://192.168.210.131:4567,192.168.210.130:4567,192.168.210.132:4567 \
-p 3306:3306 \
-p 4567:4567/udp \
-p 4567-4568:4567-4568 \
-p 4444:4444 \
-v /opt/mariadb/con
fig/
MysqL:/etc/
MysqL \
-v /opt/mariadb/con
fig/data:/var/lib/
MysqL:Z \
--restart=always \
panubo/mariadb-
galera
MysqLd
#########node3
docker run -d --net host --name
galera3 \
-e WSREP_NODE_ADDRESS=192.168.210.132 \
-e WSREP_CLUSTER_ADDRESS=
gcomm://192.168.210.131:4567,192.168.210.130:4567,192.168.210.132:4567 \
-e
MysqL_ROOT_PASSWORD=123 \
-p 3306:3306 \
-p 4567:4567/udp \
-p 4567-4568:4567-4568 \
-p 4444:4444 \
-v /opt/mariadb/con
fig/
MysqL:/etc/
MysqL \
-v /opt/mariadb/con
fig/data:/var/lib/
MysqL:Z \
--restart=always \
panubo/mariadb-
galera
MysqLd --wsrep-new-cluster
三、登陆数据库时,安装mariadb客户端
yum install mariadb -y
MysqL -h 192.168.210.131 -P 3306 -u root -p123
检查集群状态:
SHOW STATUS LIKE 'wsrep_cluster_size';
+--------------------+-------+
| Variable_name | Value |
+--------------------+-------+
| wsrep_cluster_size | 3 |
+--------------------+-------+
四、故障恢复:
(1)集群中某slave节点down机,重启该节点后,重启docke容器即可;
(2)集群中master节点down机,重启该master节点后,master-docker容器不能正常启动,因为这是master节点已经切换,
需要将原先master-docker容器
删除,再以非wrsep方式启动
一个普通容器;
(3)集群全部意外down机,强制找一台节点作为master节点;到如下路径,将 safe_to_bootstrap: 0
修改为1(平时集群正常时,每个节点都为0)
[root@con3 data]# pwd
/opt/mariadb/data
[root@con3 data]# cat grastate.dat
#
galERA saved state
version: 2.1
uuid: 6a26abec-e7b5-11e8-b15b-b7
4046986de4
seqno: -1
safe_to_bootstrap: 0
之后在该节点启动wsrep进程的docker
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。