[筆記] 安裝MariaDB Galera Cluster

簡介

MariaDB Galera Cluster是基於MariaDB系統下的叢集架構 (以下將以Cluster稱之),採用Multi Master設計,在Cluster中每個節點都可以作為Master進行讀寫動作。(注意:現在只支援 InnoDB/XtraDB storage engine。)

相較於傳統Master Slave設計 (例如MySQL Cluster) 提供的讀寫分離,Multi Master可以更彈性的規劃節點數量,加入新的節點而不影響現有規劃。

更能夠搭配 MariaDB MaxScale 提供HA, content routing, querying logging等服務。

安裝與設定

假設現在有三台機器要組成Cluster,資訊分別如下

NodeA 10.10.0.230
NodeB 10.10.0.231
NodeC 10.10.0.232

安裝

以 ubuntu 14.04 為例 (其他版本請用這頁選擇 source list)

加入source list

sudo apt-get install software-properties-common
sudo apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xcbcb082a1bb943db
sudo add-apt-repository 'deb http://ftp.osuosl.org/pub/mariadb/repo/10.0/ubuntu trusty main'

安裝

sudo apt-get update
sudo apt-get install mariadb-galera-server

設定

基本流程只要提供設定檔 + 啟動mariadb,確定有加入cluster,就完成。

加入基本設定檔 cluster.cnf 如下

cat /etc/mysql/conf.d/cluster.cnf
[mysqld]
query_cache_size=0
binlog_format=ROW
default-storage-engine=innodb
innodb_autoinc_lock_mode=2
query_cache_type=0
bind-address=0.0.0.0
wsrep_provider=/usr/lib/galera/libgalera_smm.so
wsrep_cluster_name="test_cluster"
wsrep_sst_method=rsync

另外在NodeA加上

wsrep_cluster_address="gcomm://"

若是非NodeA則加上

wsrep_cluster_address="gcomm://10.10.0.230"

意思是NodeA會啟動一個新的cluster設定, 為test_cluster

其他機器(NodeB, NodeC)會透過10.10.0.230 即NodeA的IP加入此Cluster

(PS. 若是cluster有兩個以上節點,可以任意指定一個或多個加入cluster)

在NodeA啟動mariadb

sudo service mysql restart

NodeA已經啟動後,其他節點一樣啟動加入

sudo service mysql restart

狀態

此時Cluster已經產生,如果要確定機器已經加入

可以在MariaDB prompt下

MariaDB [(none)]> show status;
wsrep_incoming_addresses | 10.10.0.230:3306,10.10.0.231:3306,10.10.0.232:3306

有出現IP表示已經加入成功

Leave a comment

Your email address will not be published. Required fields are marked *