MariaDB Galera 集群安裝配置--安裝環境準備

MariaDB Galera 集群安裝配置--安裝環境準備

MariaDB Galera Cluster 介紹

MariaDB Galera Cluster 是開源的 MariaDB同步多主機集群。它僅支持XtraDB/ InnoDB存儲引擎。MariaDB作為Mysql的一個分支,在開源項目中已經廣泛使用,例如大熱的openstack,所以,為了保證服務的高可用性,同時提高系統的負載能力,集群部署是必不可少的。

主要功能:

  • 同步複製
  • 真正的multi-master,即所有節點可以同時讀寫數據庫
  • 自動的節點成員控制,失效節點自動被清除
  • 新節點加入數據自動複製
  • 真正的並行複製,行級
  • 用戶可以直接連接集群,使用感受上與MySQL完全一致

優勢:

  • 因為是多主,所以不存在Slavelag(延遲)
  • 不存在丟失事務的情況
  • 同時具有讀和寫的擴展能力
  • 更小的客戶端延遲
  • 節點間數據是同步的,而Master/Slave模式是異步的,不同slave上的binlog可能是不同的

技術:

Galera集群的複製功能基於Galeralibrary實現,為了讓MySQL與Galera library通訊,特別針對MySQL開發了wsrep API。

Galera插件保證集群同步數據,保持數據的一致性,靠的就是可認證的複製,工作原理如下圖:

MariaDB Galera 集群安裝配置--安裝環境準備

當客戶端發出一個commit的指令,在事務被提交之前,所有對數據庫的更改都會被 write-set 收集起來,並且將write-set 紀錄的內容發送給其他節點。

write-set 將在每個節點進行認證測試,測試結果決定著節點是否應用write-set更改數據。

如果認證測試失敗,節點將丟棄 write-set ;如果認證測試成功,則事務提交。

1 .安裝環境準備

安裝MariaDB集群至少需要3臺服務器(如果只有兩臺的話需要特殊配置,請參照官方文檔)

操作系統版本:centos7

  • controller1:192.168.0.194
  • controller2:192.168.0.195
  • controller3:192.168.0.196

為了保證節點間相互通信,需要禁用防火牆設置

在三個節點分別執行命令:

echo '關閉selinux、防火牆'systemctl stop firewalld.service
systemctl disable firewalld.service
firewall-cmd --state
sed -i '/^SELINUX=.*/c SELINUX=disabled' /etc/selinux/config

sed -i 's/^SELINUXTYPE=.*/SELINUXTYPE=disabled/g' /etc/selinux/config
grep --color=auto '^SELINUX' /etc/selinux/config
setenforce 0


分享到:


相關文章: