千家信息网

Galera集群---搭建(2个数据节点+1个仲裁)

发表于:2024-12-05 作者:千家信息网编辑
千家信息网最后更新 2024年12月05日,安装准备安装包: mariadb-galera-10.0.15-linux-x86_64.tar.gz测试环境ip hostname 备注192.168.1.111 test1 节点1192.168.
千家信息网最后更新 2024年12月05日Galera集群---搭建(2个数据节点+1个仲裁)

安装准备

安装包: mariadb-galera-10.0.15-linux-x86_64.tar.gz

测试环境

ip hostname 备注

192.168.1.111 test1 节点1

192.168.1.112 test2 节点2

192.168.1.113 test3 仲裁节点


1,关闭selinux:

将/etc/sysconfig/selinux 的selinux 设置成 disabled


2,修改或者关闭防火墙

修改防火墙:

vi /etc/sysconfig/iptables

-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT

-A INPUT -m state --state NEW -m tcp -p tcp --dport 4444 -j ACCEPT

-A INPUT -m state --state NEW -m tcp -p tcp --dport 4567 -j ACCEPT

-A INPUT -m state --state NEW -m tcp -p tcp --dport 4568 -j ACCEPT

-A INPUT -m state --state NEW -m tcp -p tcp --dport 4569 -j ACCEPT

service iptables restart

关闭防火墙:

systemctl stop firewalld service iptables stop


安装lsof (不装可能无法启动数据库)

yum install -y lsof


3,安装数据库mariadb

下载安装包: mariadb-galera-10.0.15-linux-x86_64.tar.gz

解压

tar zxf mariadb-galera-10.0.15-linux-x86_64.tar.gz

修改地址

mv mariadb-galera-10.0.15-linux-x86_64 /usr/local/mysql

创建mysql用户

groupadd mysql

useradd -g mysql mysql

chmod mysql:mysql -Rf /usr/local/mysql

chmod +x -Rf /usr/local/mysql

cp /usr/local/mysql/support-files/my-medium.cnf /etc/my.cnf

初始化数据库

/usr/local/mysql/scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data

cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld

添加mysql到开机启动

chkconfig mysql on

启动mysql

service mysqld start

设置mysql命令

vi /etc/profile

添加 export PATH=/usr/local/mysql/bin:$PATH

source /etc/profile

设置mysql密码

mysqladmin -u root passwd '123456'

实用root登录

mysql -uroot -p123456


4,搭建galera集群

注:mariadb-galera-10.0.15-linux-x86_64.tar.gz里面已经有了galera插件,也可以下载安装galera安装,集群中的软件版本必须保持一致

先启动111,再启动112,最后加入仲裁(启动顺序不同,wsrep.cnf文件中wsrep_cluster_address的配置略有不同)

安装galera

yum install -y galera


查找wsrep.cnf 文件

find / -name wsrep.cnf

结果:

find : .... /usr/local/mysql/support-files/wsrep.cnf

复制这个文件到etc/下

cp /usr/local/mysql/support-files/wsrep.cnf /etc/my.cnf.d/

修改配置文件

vi /etc/my.cnf.d/wsrep.cnf

wsrep_cluster_name="my_wsrep_cluster"

wsrep_provider=/usr/lib64/galera/libgalera_smm.so

wsrep_cluster_address=gcomm://

#第一个节点启动,上面地址为空,后面节点加入集群,gcomm后面要加上集群的ip地址,非默认的4567端口时,地址格式为ip:port

#wsrep_cluster_address=gcomm://192.168.1.112

wsrep_node_name='localhost'

wsrep_node_address=192.168.1.111

wsrep_sst_method=rsync


修改/etc/my.cnf

vim /etc/my.cnf

添加语句 !includedir /etc/my.cnf.d/

注释掉语句 #binlog_format=mixed

server-id = 1


配置112中的galera,server-id为2,修改节点地址和集群gcomm地址

wsrep_cluster_address=gcomm://192.168.1.111

wsrep_node_name='localhost'

wsrep_node_address=192.168.1.112


server-id = 2


5,设置数据库的访问账号和权限


mysql -u root -p123456

>grant all privileges on *.* to 'root'@'localhost' identified by '123456';

>grant all privileges on *.* to 'root'@'%' identified by '123456';

>flush privileges;

修改wsrep.cnf文件相应部分

vim /etc/my.cnf.d/wsrep.cnf

wsrep_sst_auth=root:


6,启动集群

先启动111,再启动112,最后加入113仲裁节点

在111和112上先后执行 service mysqld start

在113仲裁上执行

(启动仲裁节点时候,可能遇到缺少libssl.so.6文件,需要用ln添加软连接)

garbd -a "gcomm://192.168.1.111:4567,192.168.1.112:4567 -g my_wsrep_cluster -d

修改仲裁节点的监听端口,防止与数据库冲突

garbd -a "gcomm://192.168.1.111:4567,192.168.1.112:4567?gmcast.listen_addr=tcp://0.0.0.0:4569&pc.wait_prim=no" -g my_wsrep_cluster -d

113执行命令后,用ps -ef|grep garbd 查看进程


7,查看集群状态

113执行命令后,用ps -ef|grep garbd 查看进程

在111和112上查看数据库中状态

mysql -uroot -p123456

>show status like 'wsrep%';

查看wsrep_incoming_addresses 192.168.1.111:3306,192.168.1.112:3306,

wsrep_cluster_size 3

完成集群


0