Galera Cluster實現多主架構MYSQL集群環境的高可用
阿新 • • 發佈:2019-05-12
簡介 png 集成 log engine 過程 gpg .com 手動 一.Galera Cluster簡介:
集成了Galera插件的MySQL集群,高度冗余的高可用方案,目前兩個版本分為Percona Xtradb Cluster及MariaDB Cluster,采用multi-master的集群架構 , 是一個既穩健,又在數據一 致性、完整性及高性能方面有出色表現的高可用解決方案 ,至少三個節點組成一個集群,與普通的主 從架構不同,它們都可以作 為主節點,三個節點是 對等的,稱為multi-master架構,當有客戶端要寫入或者讀取數據時,連接哪個實例都是一樣的,讀到的數據是相同的,寫入某一個節 點之後,集群自 己會將新數據同步到其它節點上面,這種架構不共享任何數據. 其主要特點如下: 1. 多組架構——多點讀寫的集群,無論合適讀寫數據都是最新。 2. 同步復制——節點之間數據同步,無延遲,數據庫掛掉之後數據不 會丟失 。 3.並發復制——從節點APPLY數據時,支持並行執行,更好的性能 。 4.故障切換——數據庫出現故障時,由於支持多點寫入,因此切換容易。 5. 熱插拔——在服務期間,如果數據庫掛了,只要監控程序發現的夠快, 不可服務 時間就會非常少。在節點故障期間,節點本身對集群的影響非常小 。 6.自動節點克隆:在新增節點,或者停機維護時,增量數據或者基礎數據不 需要 人工手動備份提供,Galera Cluster會自動拉取在線節點數據,最終 集群會變為 一致。 7.對應用透明:集群的維護,對應用程序是透明的 。
二.Galera Cluster工作過程
三.具體操作實現步驟
註意:安裝之前確保沒安裝mariadb-server或將其卸載,避免安裝時出現沖突,至少三臺主機才能實現.
master1主機 192.168.1.107
master2主機 192.168.1.110
master3主機 192.168.1.106
1.先配置好三臺主機的Galera Cluster的yum源
三臺主機配置相同的yum源 ~]# vim /etc/yum.repos.d/cluster.repo [mariadb] name=MariaDB baseurl=http://yum.mariadb.org/5.5/centos7-amd64 gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB gpgcheck=1 清理並更新yum倉庫 ~]# yum clean all ~]# yum repolist
2.在三臺主機上同時安裝MariaDB-Galera-server包並配置文件
安裝Galera Cluster,註意安裝包大小寫敏感 ~]# yum install MariaDB-Galera-server -y 三臺主機配置相同的配置文件 ~]# vim /etc/my.cnf.d/server.cnf ... ... ... #Mandatory settings wsrep_provider=/usr/lib64/galera/libgalera_smm.so wsrep_cluster_address="gcomm://192.168.1.107,192.168.1.110,192.168.1.106" binlog_format=row default_storage_engine=InnoDB #innodb_autoinc_lock_mode=2 #bind-address=0.0.0.0 ... ... ...
3.以上完成後分別啟動三臺主機的mysql服務
# 第一個先啟動服務的主機必須加上--wsrep-new-cluster作為新創建的集群環境
假設master1主機最先啟動mysql服務
~]# service mysql start --wsrep-new-cluster
master2主機啟動mysql服務
~]# service mysql start
master3主機啟動mysql服務
~]# service mysql start
操作完成,已實現多主架構的集群環境,三臺主機可同時讀寫數據庫並相互同步數據,實現高度冗余的高可用方案.
Galera Cluster實現多主架構MYSQL集群環境的高可用