Linux:MYSQL(十六)高可用GALERA_CLUSTER

Galera Cluster

  • Galera Cluster:集成了Galera插件的MySQL集群,是一种新型的,数据不共享的,高度冗余的高可用方案,目前Galera Cluster有两个版本,分别是Percona Xtradb Cluster及MariaDB Cluster,Galera本身是具有多主特性的,即采用multi-master的集群架构,是一个既稳健,又在数据一致性、完整性及高性能方面有出色表现的高可用解决方案
  • 三个节点组成了一个集群,与普通的主从架构不同,它们都可以作为主节点,三个节点是对等的,称为multi-master架构,当有客户端要写入或者读取数据时,连接哪个实例都是一样的,读到的数据是相同的,写入某一个节点之后,集群自己会将新数据同步到其它节点上面,这种架构不共享任何数据,是一种高冗余架构

Galera Cluster特点

  • 多主架构:真正的多点读写的集群,在任何时候读写数据,都是最新的
  • 同步复制:集群不同节点之间数据同步,没有延迟,在数据库挂掉之后,数据不会丢失
  • 并发复制:从节点APPLY数据时,支持并行执行,更好的性能
  • 故障切换:在出现数据库故障时,因支持多点写入,切换容易
  • 热插拔:在服务期间,如果数据库挂了,只要监控程序发现的够快,不可服务时间就会非常少。在节点故障期间,节点本身对集群的影响非常小
  • 自动节点克隆:在新增节点,或者停机维护时,增量数据或者基础数据不需要人工手动备份提供,Galera Cluster会自动拉取在线节点数据,最终集群会变为一致
  • 对应用透明:集群的维护,对应用程序是透明的

Galera Cluster

Galera Cluster官方文档:

http://galeracluster.com/documentation-webpages/galera-documentation.pdf
http://galeracluster.com/documentation-webpages/index.html
https://mariadb.com/kb/en/mariadb/getting-started-with-mariadb-galera-cluster/

Galera Cluster包括两个组件:

Galera replication library (galera-3)
WSREP:MySQL extended with the Write Set Replication

WSREP复制实现:

percona-cluster
MariaDB-Cluster
注意:都至少需要三个节点,不能安装mariadb-server

MySQL复制

  • 配置epel源
https://downloads.mariadb.org/进去找
  • 首次启动时,需要初始化集群,在其中一个节点上执行命令
/etc/init.d/mysql start --wsrep-new-cluster
  • 而后正常启动其它节点
service mysql start

查看集群中相关系统变量和状态变量

SHOW VARIABLES LIKE 'wsrep_%';  变量
SHOW STATUS LIKE 'wsrep_%';  状态变量
SHOW STATUS LIKE 'wsrep_cluster_size';

实战操作:

192.168.32.7:

yum install MariaDB-Galera-server
vim /etc/my.cnf.d/server.cnf 配置文件
	#Mandatory settings  以下是必选设置,必须启用
	wsrep_provider = /usr/lib64/galera/libgalera_smm.so  指定模块
	wsrep_cluster_address="gcomm://192.168.32.7,192.168.32.17,192.168.32.27" 几个节点添几个
	binlog_format=row  可默认
	default_storage_engine=InnoDB  可默认
	innodb_autoinc_lock_mode=2  可默认
	bind-address=0.0.0.0  可默认
	#Optional setting   以下是可选设置,按需启用
	wsrep_cluster_name = 'mycluster'  集群名称默认my_wsrep_cluster 
	wsrep_node_name = 'node1'  每个节点的名字
	wsrep_node_address = ‘192.168.32.7'  节点IP
scp /etc/my.cnf.d/server.cnf 192.168.32.17:/etc/my.cnf.d  
scp /etc/my.cnf.d/server.cnf 192.168.32.27:/etc/my.cnf.d
/etc/init.d/mysql start --wsrep-new-cluster
192.168.32.17:
service mysql start
192.168.32.27:
service mysql start:

测试:同时插入数据是否会出现冲突

insert teachers (name,age,gender) values('a',30,'M');
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值