构建 MariaDB Galera Cluster 分布式数据库集群(一)

网友投稿 1057 2023-04-07

构建 MariaDB Galera Cluster 分布式数据库集群(一)

构建 MariaDB Galera Cluster 分布式数据库集群(一)

MariaDB Galera Cluster 介绍

简介

主要功能

同步复制 --- Galera主从复制是同步的,底层依赖rsync;真正的multi-master,即所有节点可以同时读写数据库;自动的节点成员控制,失效节点自动被清除;新节点加入数据自动复制;真正的并行复制,行级;用户可以直接连接集群,使用感受上与MySQL完全一致;

优势

因为是多主,所以不存在Slavelag(延迟)    不存在丢失事务的情况同时具有读和写的扩展能力更小的客户端延迟节点间数据是同步的,而Master/Slave模式是异步的,不同slave上的binlog可能是不同的

说明

Galera集群的复制功能基于Galeralibrary实现,为了让MySQL与Galera library通讯,特别针对MySQL开发了wsrep API。

早期的MariaDB Galera Cluster架构

haproxy作为MariaDB Galera Cluster的前端2台haproxy用keepalived避免单点故障3台MariaDB和一个garbd仲裁节点组成集群,仲裁节点上无数据Galera的SST采用Percona提供的XtraBackup(防止锁表,非阻塞)配置文件 /etc/my.cnf.d/wsrep.cnfwsrep_ready 为ON为防止脑裂引入仲裁人arbitrator

早期版本的架构和安装配置和现在有很大不同,这里仅作为了解,不必关注。*值得注意的是目前的MariaDB 10版本演进中,各升级版本的安装和配置也是不同的,所以在安装的时候一定要根据自身版本参照与之相匹配的安装设置文档进行。

监控

查看集群节点地址:mysql> show variables like 'wsrep_cluster_address';查看MySQL版本: mysql> SHOW GLOBAL VARIABLES LIKE 'version';查看wsrep版本: mysql> SHOW GLOBAL STATUS LIKE 'wsrep_provider_version';查看wsrep有关的所有变量: mysql> SHOW VARIABLES LIKE 'wsrep%' \G查看Galera集群状态: mysql> show status like 'wsrep

监控状态参数说明

集群完整性检查 wsrep_cluster_state_uuid:在集群所有节点的值应该是相同的,有不同值的节点,说明其没有连接入集群. wsrep_cluster_conf_id:正常情况下所有节点上该值是一样的.如果值不同,说明该节点被临时"分区"了.当节点之间网络连接恢复的时候应该会恢复一样的值. wsrep_cluster_size:如果这个值跟预期的节点数一致,则所有的集群节点已经连接. wsrep_cluster_status:集群组成的状态.如果不为"Primary",说明出现"分区"或是"split-brain"状况.节点状态检查wsrep_ready: 该值为ON,则说明可以接受SQL负载.如果为Off,则需要检查wsrep_connected.wsrep_connected: 如果该值为Off,且wsrep_ready的值也为Off,则说明该节点没有连接到集群.(可能是wsrep_cluster_address或wsrep_cluster_name等配置错造成的.具体错误需要查看错误日志)wsrep_local_state_comment:如果wsrep_connected为On,但wsrep_ready为OFF,则可以从该项查看原因.复制健康检查wsrep_flow_control_paused:表示复制停止了多长时间.即表明集群因为Slave延迟而慢的程度.值为0~1,越靠近0越好,值为1表示复制完全停止.可优化wsrep_slave_threads的值来改善.wsrep_cert_deps_distance:有多少事务可以并行应用处理.wsrep_slave_threads设置的值不应该高出该值太多.wsrep_flow_control_sent:表示该节点已经停止复制了多少次.wsrep_local_recv_queue_avg:表示slave事务队列的平均长度.slave瓶颈的预兆.最慢的节点的wsrep_flow_control_sent和wsrep_local_recv_queue_avg这两个值最高.这两个值较低的话,相对更好.检测慢网络问题wsrep_local_send_queue_avg:网络瓶颈的预兆.如果这个值比较高的话,可能存在网络瓶冲突或死锁的数目 wsrep_last_committed:最后提交的事务数目wsrep_local_cert_failures和wsrep_local_bf_aborts:回滚,检测到的冲突数目

注释

XtraDB

-本章完-

2017-02-23

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:SQL Server数据库高级进阶之分布式唯一ID生成实战演练
下一篇:五分钟DBA:浅谈伪分布式数据库架构
相关文章