天天看點

Galera叢集---搭建(2個資料節點+1個仲裁)

安裝準備

安裝包: mariadb-galera-10.0.15-linux-x86_64.tar.gz

測試環境

ip        hostname    備注

192.168.1.111   test1       節點1

192.168.1.112   test2       節點2

192.168.1.113   test3       仲裁節點

1,關閉selinux:

将/etc/sysconfig/selinux 的selinux 設定成 disabled

2,修改或者關閉防火牆

  修改防火牆:

vi /etc/sysconfig/iptables

-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT

-A INPUT -m state --state NEW -m tcp -p tcp --dport 4444 -j ACCEPT

-A INPUT -m state --state NEW -m tcp -p tcp --dport 4567 -j ACCEPT

-A INPUT -m state --state NEW -m tcp -p tcp --dport 4568 -j ACCEPT

-A INPUT -m state --state NEW -m tcp -p tcp --dport 4569 -j ACCEPT

service iptables restart

  關閉防火牆:

systemctl stop firewalld  service iptables stop

安裝lsof (不裝可能無法啟動資料庫)

yum install -y lsof

3,安裝資料庫mariadb

下載下傳安裝包: mariadb-galera-10.0.15-linux-x86_64.tar.gz

解壓 

tar zxf mariadb-galera-10.0.15-linux-x86_64.tar.gz

修改位址 

mv mariadb-galera-10.0.15-linux-x86_64 /usr/local/mysql

建立mysql使用者

groupadd mysql

useradd -g mysql mysql

chmod mysql:mysql -Rf /usr/local/mysql

chmod +x -Rf /usr/local/mysql

cp /usr/local/mysql/support-files/my-medium.cnf /etc/my.cnf

初始化資料庫

/usr/local/mysql/scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data

cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld

添加mysql到開機啟動

chkconfig mysql on

啟動mysql

service mysqld start

設定mysql指令

vi /etc/profile

添加 export PATH=/usr/local/mysql/bin:$PATH

source /etc/profile

設定mysql密碼

mysqladmin -u root passwd '123456'

實用root登入

mysql -uroot -p123456

4,搭建galera叢集

注:mariadb-galera-10.0.15-linux-x86_64.tar.gz裡面已經有了galera插件,也可以下載下傳安裝galera安裝,叢集中的軟體版本必須保持一緻

先啟動111,再啟動112,最後加入仲裁(啟動順序不同,wsrep.cnf檔案中wsrep_cluster_address的配置略有不同)

安裝galera

yum install -y galera

查找wsrep.cnf 檔案

find / -name wsrep.cnf

結果:

find :  .... /usr/local/mysql/support-files/wsrep.cnf

複制這個檔案到etc/下

cp /usr/local/mysql/support-files/wsrep.cnf /etc/my.cnf.d/

修改配置檔案

vi /etc/my.cnf.d/wsrep.cnf

wsrep_cluster_name="my_wsrep_cluster"

wsrep_provider=/usr/lib64/galera/libgalera_smm.so

wsrep_cluster_address=gcomm://

#第一個節點啟動,上面位址為空,後面節點加入叢集,gcomm後面要加上叢集的ip位址,非預設的4567端口時,位址格式為ip:port

#wsrep_cluster_address=gcomm://192.168.1.112

wsrep_node_name='localhost'

wsrep_node_address=192.168.1.111

wsrep_sst_method=rsync

修改/etc/my.cnf

vim /etc/my.cnf

添加語句 !includedir /etc/my.cnf.d/

注釋掉語句 #binlog_format=mixed

server-id = 1

配置112中的galera,server-id為2,修改節點位址和叢集gcomm位址

wsrep_cluster_address=gcomm://192.168.1.111

wsrep_node_address=192.168.1.112

server-id = 2

5,設定資料庫的通路賬号和權限

mysql -u root -p123456

>grant all privileges on *.* to 'root'@'localhost' identified by '123456';

>grant all privileges on *.* to 'root'@'%' identified by '123456';

>flush privileges;

修改wsrep.cnf檔案相應部分

vim /etc/my.cnf.d/wsrep.cnf

wsrep_sst_auth=root:

6,啟動叢集

先啟動111,再啟動112,最後加入113仲裁節點

在111和112上先後執行 service mysqld start

在113仲裁上執行

(啟動仲裁節點時候,可能遇到缺少libssl.so.6檔案,需要用ln添加軟連接配接)

garbd -a "gcomm://192.168.1.111:4567,192.168.1.112:4567 -g my_wsrep_cluster -d

修改仲裁節點的監聽端口,防止與資料庫沖突

garbd -a "gcomm://192.168.1.111:4567,192.168.1.112:4567?gmcast.listen_addr=tcp://0.0.0.0:4569&pc.wait_prim=no" -g my_wsrep_cluster -d

113執行指令後,用ps -ef|grep garbd 檢視程序

7,檢視叢集狀态

在111和112上檢視資料庫中狀态

>show status like 'wsrep%';

檢視wsrep_incoming_addresses    192.168.1.111:3306,192.168.1.112:3306,

  wsrep_cluster_size        3

完成叢集

本文轉自super李導51CTO部落格,原文連結:http://blog.51cto.com/superleedo/1935000 ,如需轉載請自行聯系原作者