首页 > 数据库 > 文库 > 正文

运用Galera Cluster解决主主复制单点问题

2024-09-07 22:13:03
字体:
来源:转载
供稿:网友
    Galera Cluster:集成了Galera插件的MySQL集群,是一种新型的,数据不共享的,高度冗余的高可用方案,目前Galera Cluster有两个版本,分别是Percona Xtradb Cluster及MariaDB Cluster,Galera本身是具有多主特性的,即采用multi-master的集群架构,是一个既稳健,又在数据一致性、完整性及高性能方面有出色表现的高可用解决方案
 
  Galera Cluster特点
  多主架构:真正的多点读写的集群,在任何时候读写数据,都是最新的
  同步复制:集群不同节点之间数据同步,没有延迟,在数据库挂掉之后,数据不会丢失
  并发复制:从节点APPLY数据时,支持并行执行,更好的性能
  故障切换:在出现数据库故障时,因支持多点写入,切换容易
  热插拔:在服务期间,如果数据库挂了,只要监控程序发现的够快,不可服务时间就会非常少。在节点故障期间,节点本身对集群的影响非常小
  自动节点克隆:在新增节点,或者停机维护时,增量数据或者基础数据不需要人工手动备份提供,Galera Cluster会自动拉取在线节点数据,最终集群会变为一致
  对应用透明:集群的维护,对应用程序是透明的
  Galera Cluster工作过程
  利用Galera Cluster解决主主复制单点问题
 
  Galera Cluster场景模拟
  利用Galera Cluster解决主主复制单点问题
 
     三个节点组成了一个集群,与普通的主从架构不同,它们都可以作为主节点,三个节点是对等的,称为multi-master架构,当有客户端要写入或者读取数据时,连接哪个实例都是一样的,读到的数据是相同的,写入某一个节点之后,集群自己会将新数据同步到其它节点上面,这种架构不共享任何数据,是一种高冗余架构
 
  IP地址分配
  主机 IP地址 类型
  CentOS7.6 192.168.36.101 Master
  CentOS7.6 192.168.36.103 Master
  CentOS7.6 192.168.36.104 Master
  创建Galera源
  [root@CentOS7 ~]#cd /etc/yum.repos.d/
  [root@CentOS7 yum.repos.d]#vim galera.repo
  [galera]
  name=galera
  baseurl=https://mirrors.tuna.tsinghua.edu.cn/mariadb/mariadb-5.5.64/yum/centos7-amd64/
  gpgcheck=0
  将Galera源scp至其余两个节点
  [root@CentOS7 yum.repos.d]#scp galera.repo 192.168.36.104:/etc/yum.repos.d/
  root@192.168.36.104's password:
  galera.repo                                                          100%  119     3.6KB/s   00:00
  [root@CentOS7 yum.repos.d]#scp galera.repo 192.168.36.103:/etc/yum.repos.d/
  root@192.168.36.103's password:
  galera.repo                                                          100%  119    40.2KB/s   00:00
  安装MariaDB-Galera-server
  [root@CentOS7 ~]#yum install MariaDB-Galera-server
  修改Galera配置文件
  [root@CentOS7 ~]#vim /etc/my.cnf.d/server.cnf
 
  [root@CentOS7-1 ~]#service mysql start
  Starting MariaDB.190510 10:54:29 mysqld_safe Logging to '/var/lib/mysql/CentOS7-1.err'.
  190510 10:54:29 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql
  ...SST in progress, setting sleep higher.. SUCCESS!
 
  [root@CentOS7-2 ~]#service mysql start
  Starting MariaDB.190510 10:54:37 mysqld_safe Logging to '/var/lib/mysql/CentOS7-2.err'.
  190510 10:54:37 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql
  ...SST in progress, setting sleep higher.... SUCCESS!
  此时已经实现多主复制。

(编辑:武林网)

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表