本文主要是介绍【Galera Cluster 介绍集群】【开始部署Galera】【超级奈斯的一个集群】,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
Galera Cluster 介绍
Galera是一个MySQL(也支持MariaDB,Percona)的同步多主集群软件。
主要功能
同步复制
Active-active的多主拓扑结构
真正的multi-master,即所有节点可以同时读写数据库
自动成员资格控制,失败节点从群集中删除
新节点加入数据自动复制
真正的并行复制,行级
开始部署Galera
项目,4台虚拟机 我这里操作 3台
一定要固定ip地址 我这里测试就不进行设置静态ip地址拉
准备环境:准备三台干净的虚拟机
方法;[root@192 ~]# systemctl stop firewalld 关闭防火墙
方法;[root@192 ~]# setenforce 0 关闭内核防火墙
方法;[root@192 ~]# hostnamectl set-hostname galera1 改个名字
步骤2; 主机解析:
[root@mysql-1 ~]# cat /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.150.147 galera1
192.168.150.148 galera2
192.168.150.149 galera3
准备时间服务器 找一个当做时间点
galera1上操作
方法;[root@mysql-1 ~]# yum -y install ntp //时间服务
方法;[root@mysql-1 ~]# vim /etc/ntp.conf //将下面两行添加进去
server 127.127.1.0 # local clock
fudge 127.127.1.0 stratum 10
方法;systemctl restart ntpd 重启
步骤4;其余2台客户端同步时间
方法;[root@galera2 ~]# yum -y install ntp 其他2台也下载
方法;[root@galera2 ~]# ntpdate galera1 其他俩台进行同步
下载和安装Galera(每台都需要安装)
注意:Galera有独立的补丁包,也有在mysql基础上打好补丁的完整包
我们要下载带wsrep扩展补丁的版本,比如:
MySQL 5.7.20 extended with wsrep patch version 25.13
步骤5;配置yum源: 都要下载等下要用
方法;yum -y install epel-release 下载
方法;vim /etc/yum.repos.d/galera.repo 创建编写一下一下内容 每个都要
[galera]
name=galera
baseurl=http://releases.galeracluster.com/mysql-wsrep-5.7/centos/7/x86_64/
enabled=1
gpgcheck=0
这个上面是 galera是下载地址
此处可以省略 不做
[root@mysql-1 yum.repos.d]# yum list | grep ‘galera’ 查看有没有这个包
galera.x86_64 25.3.12-2.el7 epel
mysql-wsrep-5.7.x86_64 5.7.20-25.13.el7 galera
mysql-wsrep-client-5.7.x86_64 5.7.20-25.13.el7 galera
mysql-wsrep-common-5.7.x86_64 5.7.20-25.13.el7 galera
mysql-wsrep-devel-5.7.x86_64 5.7.20-25.13.el7 galera
mysql-wsrep-libs-5.7.x86_64 5.7.20-25.13.el7 galera
mysql-wsrep-libs-compat-5.7.x86_64 5.7.20-25.13.el7 galera
mysql-wsrep-server-5.7.x86_64 5.7.20-25.13.el7 galera
mysql-wsrep-test-5.7.x86_64 5.7.20-25.13.el7 galera
注意:需要epel源提供galera包
步骤6;安装:# yum install mysql-wsrep-5.7.x86_64 galera rsync -y 全部安装
全部启动 另外几台 全部一样操作
[root@mysql-1 ~]# systemctl start mysqld
[root@mysql-1 ~]# grep password /var/log/mysqld.log 过滤密码
mysqladmin -u root -p’:k/TBvl8/*/R’ password ‘QianFeng@123’ 修改密码
步骤7:分别创建同步数据的用户
[root@mysql-1 ~]# mysql -u root -p’Qianfeng123!’
mysql> grant all on . to ‘syncuser’@’%’ identified by ‘QianFeng@123’; 创建同步用户
mysql> flush privileges;
步骤8; 配置galera 文件 一下是4台的 我测试用的三台
vim /etc/my.cnf
配置Galera Replication:
galera1配置:主配置文件my.cnf追加如下内容
server-id=1
binlog_format=row
innodb_file_per_table=1
innodb_autoinc_lock_mode=2
wsrep_on=ON
wsrep_provider=/usr/lib64/galera/libgalera_smm.so
wsrep_cluster_name=‘galera’
wsrep_cluster_address=‘gcomm://’
wsrep_node_name=‘galera1’
wsrep_node_address=‘192.168.245.133’
wsrep_sst_auth=syncuser:‘Qianfeng123!@’
wsrep_sst_method=rsync
galera2配置:主配置文件my.cnf追加如下内容
server-id=2
binlog_format=row
innodb_file_per_table=1
innodb_autoinc_lock_mode=2
wsrep_on=ON
wsrep_provider=/usr/lib64/galera/libgalera_smm.so
wsrep_cluster_name=‘galera’
wsrep_cluster_address=‘gcomm://galera1,galera3,galera4’
wsrep_node_name=‘galera2’
wsrep_node_address=‘192.168.245.136’
wsrep_sst_auth=syncuser:‘Qianfeng123!@’
wsrep_sst_method=rsync
galera3配置:主配置文件my.cnf追加如下内容
server-id=3
binlog_format=row
innodb_file_per_table=1
innodb_autoinc_lock_mode=2
wsrep_on=ON
wsrep_provider=/usr/lib64/galera/libgalera_smm.so
wsrep_cluster_name=‘galera’
wsrep_cluster_address=‘gcomm://galera1,galera2,galera4’
wsrep_node_name=‘galera3’
wsrep_node_address=‘192.168.245.10’
wsrep_sst_auth=syncuser:‘Qianfeng123!@’
wsrep_sst_method=rsync
galera4配置:主配置文件my.cnf追加如下内容
server-id=4
binlog_format=row
innodb_file_per_table=1
innodb_autoinc_lock_mode=2
wsrep_on=ON
wsrep_provider=/usr/lib64/galera/libgalera_smm.so
wsrep_cluster_name=‘galera’
wsrep_cluster_address=‘gcomm://galera1,galera2,galera3’
wsrep_node_name=‘galera4’
wsrep_node_address=‘192.168.245.135’
wsrep_sst_auth=syncuser:‘Qianfeng123!@’
wsrep_sst_method=rsync
配置如下 请参考 galera1 配置
配置如下 请参考 galera2 配置
配置如下 请参考 galera3 配置
步骤9;重启服务:每台机器 查看端口:galera端口4567 mysql端口3306
方法;[root@mysql-1 ~]# systemctl restart mysqld 重启
方法;netstat -auntpl | grep -E ‘3306|4567’ 查看端口号 3306或4567
测试:
在任何一台机器上写入数据,其他机器全部会同步
galera1 测试
mysql> create database qf;
galera2 查看
galera3 查看
这篇关于【Galera Cluster 介绍集群】【开始部署Galera】【超级奈斯的一个集群】的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!