安装部署MariaDB Galera集群和HAproxy-CentOS 7

本帖记录在CentOS 7上搭建MariaDB Galera集群的步骤,然后安装配置HAproxy做为MariaDB的负载平衡工具。我以WordPress做为应用实例,结构如下图:

安装部署MariaDB Galera集群和HAproxy-CentOS 7
画图工具draw.io:https://github.com/jgraph/

Galera集群是MariaDB的一个双活多主集群,其可以使得MariDB的所有节点保持同步,Galera为MariaDB提供了同步复制(相对于原生的异步复制)。

Galera集群拥有以下特性:真正的多主架构,任何节点都可以进行读写、同步复制,各节点间无延迟且节点宕机不会导致数据丢失;紧密耦合,所有节点均保持相同状态,节点间无不同数据;无需主从切换操作或使用VIP 热Standby,在Failover过程中无停机时间(由于不需要Failover);自动节点配置,无需手工备份当前数据库并拷贝至新节点;支持InnoDB存储引擎;无需更改应用或是进行极小的更改;无需进行读写分离

如上图所示,我们总共需要5个CentOS 7服务器。

# 部署集群

在3个数据库主机上安装mariadb、rsync和xinetd:

添加仓库:

开机启动MariaDB服务:

设置DNS或hosts文件,我使用hosts文件。如下:

确保各数据库主机之间可通过mariadb1/2/3 ping通:

我使用的内部主机,如果你使用公开主机,最好加密数据传输,提高系统安全。

在三个数据库服务器上配置MariaDB数据库:

找到[galera]一段,更改如下:

配置完成之后,我们就可以启动Galera集群了。

mariadb1做为主(master):

其它两个主机正常启动即可:

在mariadb1上执行下面命令查看集群节点个数:

安装部署MariaDB Galera集群和HAproxy-CentOS 7

最后运行MySQL初始化安全脚本:

设置这3个节点的防火墙:

如果有权限问题:关闭SELinux

下载clustercheck,用来监控集群,在3个节点上操作:

编辑/etc/services文件:

启动xinetd服务:

在mariadb1上执行:

执行脚本:

# 安装配置HAproxy

编辑hosts文件:

安装haproxy:

编辑rsyslog.conf:

注释掉下面两行:

配置HAproxy日志:

编辑haproxy配置文件:

设置防火墙:

设置HAproxy可访问MariaDB:

在MariaDB集群上执行:

尝试从haproxy访问MariaDB:首先安装MariaDB-client

测试:

安装部署MariaDB Galera集群和HAproxy-CentOS 7

# 安装WordPress

最后安装WordPress,需要在mariadb1、haproxy和WordPress主机上操作。

mariadb1:为WordPress创建数据库和用户

在WordPress主机上的/etc/hosts文件中添加:

在haproxy主机上的/etc/hosts文件中添加:

在WordPress主机安装apache、php(和单个主机安装Wordpress一样,就是不用安装数据库):

下载WordPress:

配置Wordpress数据库连接:

重启Apache服务:

配置防火墙、SELinux和域名等等其它玩意。

使用浏览器访问:192.168.0.111/your_domain,根据安装向导完成安装。

相关文章

发表评论

电子邮件地址不会被公开。 必填项已用*标注