Galera Cluster
至少需要三个节点,Galera Cluster is included in the default MariaDB packages from 10.1
配置yum仓库
cat > /etc/yum.repos.d/MariaDB.repo <<EOF [mariadb] name = MariaDB baseurl = http://yum.mariadb.org/10.1/centos7-amd64 gpgkey = https://yum.mariadb.org/RPM-GPG-KEY-MariaDB gpgcheck=1 EOF
yum安装
yum install MariaDB-client MariaDB-shared MariaDB-common MariaDB-server galera rsync socat
编辑配置文件/etc/my.cnf.d/server.cnf
[galera]
wsrep_on=ON
wsrep_provider = /usr/lib64/galera/libgalera_smm.so wsrep_cluster_address = "gcomm://192.168.8.222,192.168.8.219,192.168.8.220" wsrep_cluster_name = mycluster wsrep_node_name = 'node1' # 可选 wsrep_node_address = '192.168.8.222' # 可选 binlog_format=row default_storage_engine=InnoDB innodb_autoinc_lock_mode=2 bind-address=0.0.0.0
网上找到的第二份配置信息
wsrep_on = ON wsrep_provider = /usr/lib64/galera/libgalera_smm.so wsrep_cluster_address = "gcomm://node1,node2,node3" wsrep_node_name = node1 wsrep_node_address = 192.168.8.222 wsrep_slave_threads = 1 wsrep_sst_method = rsync binlog_format = ROW max_connections = 10000 default_storage_engine = InnoDB innodb_autoinc_lock_mode = 2 innodb_flush_log_at_trx_commit = 0 innodb_buffer_pool_size = 122M bind-address = 192.168.8.222
上面的参数中,类似如下两个需要为每个节点分别指定为当前节点的名字及IP地址;配置中,可以省略。
wsrep_node_name = 'node1' wsrep_node_address = '192.168.8.222'
wsrep_provider 参数路径可能会因平台或版本不一样,可以用下面方式来找对应路径
[root@node1 ~]# rpm -ql galera | grep smm.so /usr/lib64/galera/libgalera_smm.so
首次启动时,需要初始化集群,在其中一个节点上执行如下命令:
/usr/sbin/mysqld --wsrep-new-cluster --user=root &
而后正常启动其它节点即可。
注:--wsrep-new-cluster这个参数只能在初始化集群使用,且只能在一个节点使用。
查看集群中关的参数:
SHOW STATUS LIKE 'wsrep_%';
几个关键参数
wsrep_connected = on 链接已开启 wsrep_local_index = 2 在集群中的索引值 wsrep_cluster_size =3 集群中节点的数量 wsrep_incoming_addresses=192.168.8.222:3306,192.168.8.219:3306,192.168.8.220:3306 集群中节点的访问地址
至此,可以在任意节点上创建数据库,如果在其他节点上能实时同步的话,就说明MariaDB Galera Cluster已经部署完成。
上面只是一个大概操作过程,这里仅作测试只用。
官方文档:
https://mariadb.com/kb/en/mariadb/getting-started-with-mariadb-galera-cluster/