架設MariaDB Cluster
會選擇MariaDB而不是選擇MySQL來架設Cluster的原因很簡單,就是筆者當初在架設MySQL Cluster時失敗了,失敗的原因是MySQL Cluster的說明文件不足造成的(筆者是這麼認為的),因為Maria Cluster的說文件寫得很好,是一步一步教你如何來安裝、設定,筆者照著做的結果,很簡單就成功了。
下面我們來安裝Marai DB Cluster,首先要請大家準備至少三台以上的Linux機器;下方的示範,會使用三台的CentOS 6.7的Linux機器來實作,其中二台是會安裝MariaDB Cluster,另外一台是安裝HA proxy,當做Load Balance,環境如下圖所示。
安裝MariaDB
設定yum repository
請先用root或相等權限的使用者登入資料庫1及資料庫2的機器,接下來我們要在資料庫1與資料庫2同時做yum的repository設定,透過指令 vi /etc/yum.repos.d/mariadb.repo
修改內容如下:
For CentOS 6 – 64bit:
[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.0/centos6-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1
For CentOS 6 – 32bit:
[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.0/centos6-x86
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1
儲存後即可。
關閉SELinux(安全增強式Linux)
因為Cluster需要彼此的DB連線,所以某些安全性的設定會防礙彼此的DB連線,所以要關閉SELinux。指令是 setenforce 0。
設定後可sestatus來查看結果,正常設定完後顯示如下:
如果是開啟的狀態的話,顯示如下:
設定完後,因為重啟電腦還是會保持開啟狀態,所以還要編輯開機設定,編輯/etc/sysconfig/selinux,來決定下次開機的狀態。指令 vi /etc/sysconfig/selinux。
原本的設定
變更為
儲存後即可。
關閉防火牆
因為Cluster之間彼此的互通資料並不在一般開放的port範圍中,所以依預設的情況會有問題;為了解決這個問題的最快方法就是關閉防火牆。關閉防火牆的指令:service iptables stop
因為這樣只是臨時關閉,重啟後防火牆就會回復,所以為了讓防火牆下次不要重啟,所以要再下指令:chkconfig iptables off
不過因為關閉了防火牆,所以安全性的問題,要從其他方面去考量了。
安裝socat
socat是拿來做Cluster彼此溝通用的,所以必需先安裝,不過CentOS 6.7是已經安裝,為預防萬一,我們還是來下一下安裝指令:
sudo yum install http://dl.fedoraproject.org/pub/epel/6/x86_64/socat-1.7.2.3-1.el6.x86_64.rpm
移除預設的MySQL
因為MariaDB與MySQL相沖,但是CentOS 6.7預設會幫我們安裝MySQL,所以在安裝MariaDB前,需先解除MySQL,解除安裝的指令如下: yum remove mysql-server
安裝Marai DB
終於要開始安裝MariaDB了,安裝指令如下:
yum install MariaDB-Galera-server MariaDB-client rsync galera
遇到問題就按Y之後,之後就能完成安裝了。
要記得資料庫2也要跟著重做一次喔!
留言列表