前期回顾

主机名 IP地址 操作系统 MySQL版本 插件版本
rac1 11.12.14.29 Redhat 6.10 5.7.26 25.3.27
rac2 11.12.14.30 Redhat 6.10 5.7.26 25.3.27
rac3 11.12.14.39 Redhat 6.10 5.7.26 25.3.27

前面我们说了Galera Cluster有三种不同的分支

  • MySQL Galera Cluster by Codership
  • Percona XtraDB Cluster by Percona
  • MariaDB Galera Cluster (5.5 and 10.0) by MariaDB

这里我们以官方的软件来做演示,即第一个

1. 软件组成

Galera Cluster由两部分组成

  • the Galera Replication Library (galera-3)
  • a version of MySQL extended with the Write Set Replication (WSREP) API

第一个即Galera 插件

第二个为集成了wsrep API的 MySQL服务器软件

以上意味着我们需要安装一个Galera版本的MySQL数据库和一个Galera插件

2. Galera参数设置

上节我们说了如何安装Galera集群软件

这节内容为配置一些系统参数来设置

我们编辑/etc/my.cnf文件加入或修改一些参数设置

rac1

[mysqld] 
binlog_format=ROW
bind-address=11.12.14.29
default_storage_engine=innodb
innodb_autoinc_lock_mode=2
innodb_flush_log_at_trx_commit=0
innodb_buffer_pool_size=4096M
wsrep_provider=/usr/lib64/galera-3/libgalera_smm.so
wsrep_provider_options="gcache.size=300M;gcache.page_size=300M"
wsrep_cluster_name="galera_cluster"
wsrep_cluster_address="gcomm://11.12.14.29,11.12.14.30,11.12.14.39"
wsrep_node_name=rac1
wsrep_node_address="11.12.14.29"
wsrep_sst_method=rsync

rac2

[mysqld] 
binlog_format=ROW
bind-address=11.12.14.30
default_storage_engine=innodb
innodb_autoinc_lock_mode=2
innodb_flush_log_at_trx_commit=0
innodb_buffer_pool_size=4096M
wsrep_provider=/usr/lib64/galera-3/libgalera_smm.so
wsrep_provider_options="gcache.size=300M;gcache.page_size=300M"
wsrep_cluster_name="galera_cluster"
wsrep_cluster_address="gcomm://11.12.14.29,11.12.14.30,11.12.14.39"
wsrep_node_name=rac2
wsrep_node_address="11.12.14.30"
wsrep_sst_method=rsync

rac3

[mysqld] 
binlog_format=ROW
bind-address=11.12.14.39
default_storage_engine=innodb
innodb_autoinc_lock_mode=2
innodb_flush_log_at_trx_commit=0
innodb_buffer_pool_size=4096M
wsrep_provider=/usr/lib64/galera-3/libgalera_smm.so
wsrep_provider_options="gcache.size=300M;gcache.page_size=300M"
wsrep_cluster_name="galera_cluster"
wsrep_cluster_address="gcomm://11.12.14.29,11.12.14.30,11.12.14.39"
wsrep_node_name=rac3
wsrep_node_address="11.12.14.39"
wsrep_sst_method=rsync

3. 参数说明

下面来对一些参数进行说明

  • binlog_format 需要采用row格式的二进制日志文件
  • bind-address 指定本机IP地址
  • default_storage_engine Galera只支持innodb
  • innodb_autoinc_lock_mode 其他设置可能会造成系统死锁
  • innodb_flush_log_at_trx_commit 指定每秒刷新日志到磁盘,可能会造成1s的数据丢失,不过可以通过Galera恢复出来
  • wsrep_provider 指定galera插件的位置,上节中通过rpm -ql获取到
  • wsrep_provider_options 指定组通信协议的一些参数
  • wsrep_cluster_name指定Galera集群的逻辑名称,集群内所有节点需要配置一样
  • wsrep_cluster_address 指定集群内节点的地址,需要包含所有的节点IP
  • wsrep_node_name 该节点的名称,这里我们填写主机名
  • wsrep_node_address 该节点的IP地址,这里填写该主机的IP地址
  • wsrep_sst_method 选择SST的类型,具体可查看第三章的内容

4. 参考资料

https://galeracluster.com/library/training/tutorials/wsrep-configuration.html

上一章

下一章