mariadb Galera集群部署

您所在的位置:网站首页 galera官网 mariadb Galera集群部署

mariadb Galera集群部署

#mariadb Galera集群部署| 来源: 网络整理| 查看: 265

MariaDB Galera Cluster介绍

Galera Cluster是Codership公司开发的一套免费开源的高可用方案,Galera Cluster即安装了Galera的Mariadb集群。其本身具有multi-master特性,支持多点写入。Galera Cluster的三个(或多个)节点是对等关系,每个节点均支持写入,集群内部会保证写入数据的一致性与完整性。 官网: http://galeracluster.com 文档: https://galeracluster.com/library/documentation/index.html

官方给出的特性如下:

真正的多主集群,Active-Active架构,即所有节点可以同时读写数据库;同步复制,没有复制延迟;多线程复制;没有主从切换操作,无需使用虚IP;热备份,单个节点故障期间不会影响数据库业务;支持节点自动加入,无需手动拷贝数据,自动的节点成员控制,失效节点自动被清除;新节点加入数据自动复制;支持InnoDB存储引擎;对应用程序透明,原生MySQL接口;无需做读写分离;部署使用简单。

galera集群缺点:

加入新节点时开销大,需要复制完整数据;不能有效地解决写扩展的问题,所有的写操作都发生在所有的节点;有多少个节点,就有多少份重复的数据;由于事务提交需要跨节点通信,即涉及分布式事务操作,因此写入会比主从复制慢很多,节点越多,写入越慢,死锁和回滚也会更加频繁;对网络要求比较高,如果网络出现波动不稳定,则可能会造成两个节点失联,Galera Cluster集群会发生脑裂,服务将不可用.仅支持InnoDB/XtraDB存储引擎,任何写入其他引擎的表,包括mysql.*表都不会被复制,DDL语句可以复制,但是insert into mysql.user(MyISAM存储引擎)之类的插入数据不会被复制;Delete操作不支持没有主键的表,因为没有主键的表在不同的节点上的顺序不同,如果执行select … limit …将出现不同的结果集;整个集群的写入吞吐量取决于最弱的节点限制,集群要使用同一的配置.

mariadb galera mult-master replication集群 在这里插入图片描述

基于认证的复制原理 https://galeracluster.com/library/documentation/tech-desc-introduction.html Galera集群的复制功能基于Galeralibrary实现,为了让MySQL与Galera library通讯,特别针对MySQL开发了wsrep API。 Galera插件保证集群同步数据,保持数据的一致性,靠的就是可认证的复制,工作原理如下图: 在这里插入图片描述 Galera集群的复制功能是基于认证的复制,其流程如下:

当客户端发出一个commit的命令,在事务被提交之前,所有对数据库的更改都会被write-set收集起来,并且将write-set纪录的内容发送给其他节点。write-set将在每个节点进行认证测试,测试结果决定着节点是否应用write-set更改数据。如果认证测试失败,节点将丢弃write-set;如果认证测试成功,则事务提交。 mariadb Galera集群部署

参考:https://mariadb.com/kb/en/getting-started-with-mariadb-galera-cluster/

准备3个centos 7节点部署galera集群。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-DYrVH5Ve-1590204962693)(../images/screenshot_1590168684067.png)]

关闭防火墙和selinxu

systemctl disable --now firewalld sed -i 's/^SELINUX=enforcing$/SELINUX=disabled/' /etc/selinux/config && setenforce 0

配置主机名

hostnamectl set-hostname xxx

配置主机名解析

cat > /etc/hosts


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3