一、概念
galera集群多用于关键性业务,因为galera集群为了数据的一致性,采用的是同步的机制,这就使galera牺牲了一部分性能来换取数据一致性。
galera集群是基于wsrep协议(端口4567)工作的,目前只支持INnoDB存储引擎。
功能:
(1)同步复制
(2)Multi-master,及所有节点都可以同时进行读写操作
(3)自动的成员节点控制,失效节点自动被剔除
(4)新节点加入数据自动复制
(5)真正的并行复制,行级
优点:
(1)因为是多主,不存在slave lag(延迟)
(2)不存在丢失交易的情况
(3)同时具有读写的能力
(4)更小的客户端延迟
(5)节点间的数据是同步的(使用rsync进行同步)
在搭建galera集群时尽量用奇数台主机,防止出现脑裂现象
二、搭建步骤
1、准备
集群数量:3个节点(都已下载mariadb)
192.168.11.6(主节点)(galera发起人)
192.168.11.7
192.168.11.8
--检查环境
[root@bi6 ~]# setenforce 0
setenforce: SELinux is disabled
[root@bi6 ~]# getenforce
Disabled
[root@bi6 ~]# systemctl status firewalld
● firewalld.service - firewalld - dynamic firewall daemon
Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; vendor preset: enabled)
Active: active (running) since 一 2019-09-09 14:07:52 CST; 1h 56min ago
Docs: man:firewalld(1)
Main PID: 6548 (firewalld)
CGroup: /system.slice/firewalld.service
└─6548 /usr/bin/python -Es /usr/sbin/firewalld --nofork --nopi...
9月 09 14:07:48 localhost.localdomain systemd[1]: Starting firewalld - d...
9月 09 14:07:52 localhost.localdomain systemd[1]: Started firewalld - dy...
Hint: Some lines were ellipsized, use -l to show in full.
--添加防火墙规则(firewall-cmd命令需要添加3306、4567、4444三个端口)
iptables -A INPUT -s 192.168.11.6 -p tcp -j ACCEPT
iptables -A INPUT -s 192.168.11.7 -p tcp -j ACCEPT
iptables -A INPUT -s 192.168.11.8 -p tcp -j ACCEPT
--关闭数据库
[root@bi6 ~]# systemctl stop mariadb
2、配置galera(三个节点)
[root@bi6 ~]# vim /etc/my.cnf.d/server.cnf