galera集群

2018-05-18  本文已影响0人  断水流大师兄vs魔鬼筋肉人

集群分类:(面试题)

高可用

负载均衡

HPC 高性能计算

分布式集群

分布式文件系统(分布式存储)

mysql官方集群:mysql-cluster

5台机器

manager节点

sql节点            sql节点                    接受客户端请求

data节点        data节点                  存储数据

准备环境:

主机解析:vim /etc/hosts

关闭防火墙

时间同步:

修改时区:

# ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

准备时间服务器:

#vim /etc/ntp.conf

server 127.127.1.0    # local clock

fudge  127.127.1.0 stratum 10

#systemctl restart ntpd

客户端同步时间:

[root@galera2 ~]# ntpdate galera1

所以:删除原版本mysql:

[root@wing yum.repos.d]# yum erase `rpm -qa | grep mysql` -y

配置yum源:

[root@wing yum.repos.d]# vim galera.repo

[galera]

name=galera

baseurl=http://releases.galeracluster.com/mysql-wsrep-5.7/centos/7/x86_64/

enabled=1

gpgcheck=0

在线安装:yum list | grep 'galera'      -----过滤

[root@wing yum.repos.d]# yum install mysql-wsrep-5.7.x86_64 galerarsync-y

特别注意:

1.timezone,ceph和rsync

2./var/lib/mysql下3个文件:grastate.dat  gvwstate.dat galera.cache 如果出了错,把他们统统干掉

3.如果一起添到集群中不行就一个节点一个节点的添加

# systemctl start mysqld

获取mysql5.7初始启动密码:

# grep passw /var/log/mysqld.log

修改密码:

#mysqladmin -u root -p'2rttwxb?3_oP' password 'Wangyi@123'

每台机器创建用于数据同步的用户:

mysql> grant all on *.* to 'wangyi'@'%' identified by 'WangYi@123';

mysql> flush privileges;

配置Galera Replication:

在[mysqld]下面添加

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.229.129'

wsrep_sst_auth=wangyi:'WangYi@123'

wsrep_sst_method=rsync

重启服务:添加一台重启一次

[root@galera1 ~]# systemctl  restart mysqld

galera2配置:

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'

wsrep_node_name='galera2'

wsrep_node_address='192.168.229.130'

wsrep_sst_auth=wangyi:'WangYi@123'

wsrep_sst_method=rsync

重启服务:添加一台重启一次

[root@galera1 ~]# systemctl  restart mysqld

galera3配置:

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'

wsrep_node_name='galera2'

wsrep_node_address='192.168.229.131'

wsrep_sst_auth=wangyi:'WangYi@123'

wsrep_sst_method=rsync

重启服务:添加一台重启一次

[root@galera1 ~]# systemctl  restart mysqld

查看端口:galera端口4567 mysql端口3306

[root@galera1 ~]# ss -auntpl | grep -E '3306|4567'

tcp    LISTEN    0      128      *:4567                  *:*                  users:(("mysqld",pid=11068,fd=12))

tcp    LISTEN    0      80      :::3306                :::*                  users:(("mysqld",pid=11068,fd=39))

测试:

mysql> show status like 'wsrep%';

wsrep_incoming_addresses    | 192.168.245.136:3306,192.168.245.135:3306,192.168.245.10:3306                                                      |

| wsrep_cluster_size          | 3    //表示一共有3个节点,我少配置了一个

上一篇下一篇

猜你喜欢

热点阅读