[关闭]
@zhangyy 2020-01-16T13:55:56.000000Z 字数 2812 阅读 181

mysql 的集群模式 galera-cluster部署

运维系列


  • 一: galera-cluster 的介绍
  • 二: galera-cluster 的运行原理
  • 三: mariadb galera-cluster部署

一: galera-cluster 的介绍

  1. Galera ClusterCodership公司开发的一套免费开源的高可用方案,官网为http://galeracluster.com。Galera Cluster即为安装了Galera的Mariadb集群(本文只介绍Mariadb Garela集群)。其本身具有multi-master特性,支持多点写入。Galera Cluster的三个(或多个)节点是对等关系,每个节点均支持写入,集群内部会保证写入数据的一致性与完整性,具体实现原理会在本篇中做简要介绍。
  2. 官方给出的特性如下:
  3. 真正的多主集群,Active-Active架构;
  4. 同步复制,没有复制延迟;
  5. 多线程复制;
  6. 没有主从切换操作,无需使用虚IP
  7. 热备份,单个节点故障期间不会影响数据库业务;
  8. 支持节点自动加入,无需手动拷贝数据;
  9. 支持InnoDB存储引擎;
  10. 对应用程序透明,原生MySQL接口;
  11. 无需做读写分离;
  12. 部署使用简单。

二: galera-cluster 的运行原理

  1. 主要关注点是数据一致性。 事务既可以应用于每个节点,也可以不全部应用。 所以,只要它们配置正确,数据库保持同步。
  2. Galera复制插件不同于传统的MySQL复制,可以解决多个问题,包括多主写入冲突,复制滞后和主从不同步。

image_1d47105td2uc1t5v1bdt1nno56a9.png-21.8kB

三: mariadb的galera-cluster 部署

3.1: 系统软件环境介绍

  1. 系统: CentOS7.5x64
  2. 192.168.20.33 jiankong01.yl.com
  3. 192.168.20.34 jiankong02.yl.com
  4. 192.168.20.35 jiankong03.yl.com
  5. 软件: mariadb-galera-cluster.zip

image_1d4hskbcpo0is01e211lj1cr9.png-199.6kB

3.2: 配置 时间同步服务器

  1. flyfish 主机已经 配置好了chronyd 时间服务器
  2. 时间服务器为: 192.168.20.3
  3. 如果不会可以参考flyfish的其关于安装大数据集群CDH 时间服务器的配置
  4. 在此不再提供如何安装配置

3.3 安装mariadb-galear-cluster

  1. 所用集群节点都执行:
  2. yum remove -y mariadb-libs
  3. yum install -y unzip boost-devel lsof perl-DBI perl-Data-Dumper

image_1d4hslc5i16j8afc1df2h8i1iu5m.png-645.3kB

image_1d4hsmork12vc1vg41al4s2q4cu13.png-1600.8kB

  1. rpm -ivh rpm -ivh MariaDB-10.0.37-centos73-x86_64-*

image_1d4hso1g114ilipe2g61q3ssb1g.png-503.2kB

  1. rpm -ivh MariaDB-Galera-10.0.37-centos73-x86_64-*

image_1d4htn85qtev1smo1jtag281jk03d.png-1110.7kB


3.4 节点配置文件

  1. 节点一: jiankong01.yl.com
  2. cd /etc/my.cnf.d
  3. vim server.conf
  4. ----
  5. [mysqld]
  6. #
  7. # * Galera-related settings
  8. #
  9. [galera]
  10. # Mandatory settings
  11. wsrep_provider= /usr/lib64/galera/libgalera_smm.so
  12. wsrep_cluster_address="gcomm://192.168.20.33,192.168.20.34,192.168.20.35"
  13. wsrep_cluster_name = 'mycluster'
  14. wsrep_node_name = 'jiankong01.yl.com'
  15. wsrep_node-address = '192.168.20.33'
  16. binlog_format=row
  17. default_storage_engine=InnoDB
  18. innodb_autoinc_lock_mode=2
  19. bind-address=0.0.0.0
  20. #
  21. # Optional setting
  22. #wsrep_slave_threads=1
  23. ----
  1. 节点二:jiankong02.yl.com
  2. cd /etc/my.cnf.d/
  3. vim server.conf
  4. ----
  5. [mysqld]
  6. #
  7. # * Galera-related settings
  8. #
  9. [galera]
  10. # Mandatory settings
  11. wsrep_provider= /usr/lib64/galera/libgalera_smm.so
  12. wsrep_cluster_address="gcomm://192.168.20.33,192.168.20.34,192.168.20.35"
  13. wsrep_cluster_name = 'mycluster'
  14. wsrep_node_name = 'jiankong02.yl.com'
  15. wsrep_node-address = '192.168.20.34'
  16. binlog_format=row
  17. default_storage_engine=InnoDB
  18. innodb_autoinc_lock_mode=2
  19. bind-address=0.0.0.0
  20. #
  21. # Optional setting
  22. #wsrep_slave_threads=1
  23. #innodb_flush_log_at_trx_commit=0
  24. ---

  1. 节点三: jiankong03.yl.com
  2. cd /etc/my.cnf.d/
  3. vim server.conf
  4. ----
  5. [mysqld]
  6. #
  7. # * Galera-related settings
  8. #
  9. [galera]
  10. # Mandatory settings
  11. wsrep_provider= /usr/lib64/galera/libgalera_smm.so
  12. wsrep_cluster_address="gcomm://192.168.20.33,192.168.20.34,192.168.20.35"
  13. wsrep_cluster_name = 'mycluster'
  14. wsrep_node_name = 'jiankong03.yl.com'
  15. wsrep_node-address = '192.168.20.35'
  16. binlog_format=row
  17. default_storage_engine=InnoDB
  18. innodb_autoinc_lock_mode=2
  19. bind-address=0.0.0.0
  20. #
  21. # Optional setting
  22. #wsrep_slave_threads=1
  23. #innodb_flush_log_at_trx_commit=0
  24. ----

3.4 启动集群

  1. 集群的 任意一个节点上 执行
  2. service mysql start --wsrep-new-cluster
  3. 此处以节点三为例:

image_1d4hu9hr3lvqbc714hm18tqnh53q.png-272.3kB

  1. 节点一和节点二执行:
  2. service mysql start

image_1d4hub1691alqus111j51heetrt47.png-303.5kB

image_1d4hube7i1k9k11fd14r31kefbvc4k.png-309.2kB


3.5:创建数据库实例

  1. 节点一:
  2. mysql -uroot -pQingchun123.com
  3. create database nCalInfo

image_1d4k1rmle162f13o2a631v916ui9.png-138.3kB

  1. 在节点二,三 上面查看
  2. mysql -uroot -pQingchun123.com
  3. show databases

image_1d4k1t3kput85n8qdk1s0itptm.png-151.3kB

image_1d4k1uaha1etrf4msu14j81e2i23.png-331.3kB

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注