日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

MariaDB Galera Cluster with HA Proxy and Keepalived on Cents 6

發布時間:2024/1/17 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 MariaDB Galera Cluster with HA Proxy and Keepalived on Cents 6 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Haproxy 實現數據庫的負載均衡,健康監測.權重分發.


IP規劃:

192.168.0.221?os---221?????db 192.168.0.222?os---222?????db 192.168.0.223?os---223?????db 192.168.0.224?os---224?????haproxy 192.168.0.225?os---225?????haproxy VIP:?192.168.0.226


準備:

三臺主機安裝之前,必須先設置selinux 、hostname 和 ?iptables; 如下:

(1)禁止selinux selinux=Disabled(2)配置防火墻? service?iptables?stop? chkconfig??iptables??off iptables??-F(3)編輯hosts文件 vi?/etc/hosts 192.168.0.221?os---221 192.168.0.222?os---222 192.168.0.223?os---223(4)reboot

1.添加mariadb.repo,yum 源

[mariadb] name?=?MariaDB baseurl?=?http://yum.mariadb.org/10.0/centos6-amd64 gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB gpgcheck=1yum?makecache

2.安裝

yum?install?MariaDB-Galera-server?MariaDB-client?galera


3. 在三臺主機上初始化mariadb,并且創建集群賬戶

? ?All ?nodes:

初始化如下: service?mysql?start mysql_secure_installation??#提示創建密碼,root是否遠程登錄,刪除test數據庫。授權賬戶如下: mysql??-p GRANT?ALL?PRIVILEGES?ON?*.*?TO?'cp'@'%'?IDENTIFIED?BY?'123'?WITH?GRANT?OPTION; flush?privileges; quit然后停止All?Nodes的數據 service?mysql?stop

? ? ? ? ?


4.建立集群:Setup Cluster Configuration on Client221?

vi?/etc/my.cnf.d/server.conf[mariadb] query_cache_size=0 binlog_format=ROW default_storage_engine=innodb innodb_autoinc_lock_mode=2 wsrep_provider=/usr/lib64/galera/libgalera_smm.so wsrep_cluster_address=gcomm://192.168.0.223,192.168.0.222 wsrep_cluster_name='cp' wsrep_node_address='192.168.0.221' wsrep_node_name='os6---221' wsrep_sst_method=rsync wsrep_sst_auth=cp:123

保存退出后,執行

/etc/init.d/mysql?bootstrap 或者: /usr/sbin/mysqld??--wsrep-new-cluster?--user=mysql??&

說明:bootstrap的功能

mysql命令調用/usr/sbin/mysqld?? bootstrap相當于--wsrep-new-cluster??--user=mysql??&

? ? ?

5. 建立集群:Setup Cluster Configuration on Client222,只有三處和上面不同

[mariadb] query_cache_size=0 binlog_format=ROW default_storage_engine=innodb innodb_autoinc_lock_mode=2 wsrep_provider=/usr/lib64/galera/libgalera_smm.so wsrep_cluster_address=gcomm://192.168.0.221,192.168.0.223 wsrep_cluster_name='cp' wsrep_node_address='192.168.0.222' wsrep_node_name='os6---222' wsrep_sst_method=rsync wsrep_sst_auth=cp:123

最后

/etc/init.d/mysql?start

? ? ?

6. 建立集群:Setup Cluster Configuration on Client223,同樣只有三處和上面不同

? ? ? ?

[mariadb] query_cache_size=0 binlog_format=ROW default_storage_engine=innodb innodb_autoinc_lock_mode=2 wsrep_provider=/usr/lib64/galera/libgalera_smm.so wsrep_cluster_address=gcomm://192.168.0.221,192.168.0.222 wsrep_cluster_name='cp' wsrep_node_address='192.168.0.223' wsrep_node_name='os6---223' wsrep_sst_method=rsync wsrep_sst_auth=cp:123

最后

?/etc/init.d/mysql?start

7. 測試集群

省略

8.安裝haproxy,分別在192.168.0.224和192.168.0.225

yum??install??haproxy??-y


9.配置haproxy,編輯/usr/local/haproxy/etc/haproxy.cfg,分別在192.168.0.224和192.168.0.225

mv???/usr/local/haproxy/etc/haproxy.cfg??/usr/local/haproxy/etc/haproxy.cfg.bak vi??/usr/local/haproxy/etc/haproxy.cfgglobal log?127.0.0.1?local0?notice user?haproxy group?haproxydefaults log?global retries?2 timeout?connect?1000 timeout?server?5000 timeout?client?5000listen?mariadb-cluster bind?0.0.0.0:3306 mode?tcp option?mysql-check?user?haproxy balance?roundrobin server?DB221?192.168.0.221:3306?check server?DB222?192.168.0.222:3306?check server?DB223?192.168.0.223:3306?checklisten?webinterface bind?0.0.0.0:8080 mode?http stats?enable stats?uri???/haproxy/stats stats?realm?Strictly\?Private stats?auth?haproxy:haproxy




10.在數據庫上建立一個用戶,用于haproxy對db的檢測

主意: 再一臺數據庫上執行即可.不必要再3臺DB上全部執行.

CREATE?USER?'haproxy'@'192.168.0.224'; CREATE?USER?'haproxy'@'192.168.0.225'; FLUSH??PRIVILEGES;


11.啟動haproxy

service?haproxy??start

開機啟動

echo?"/etc/init.d/haproxy??start"??>>/etc/rc.local

訪問haproxy的檢測頁面:

224:??http://192.1680.224/haproxy/stats???????????user:haproxy??pass:haproxy 225:??http://192.168.0.225/haproxy/stats??????????user:haproxy??pass:haproxy

試圖登陸mysql:

mysql?-h?192.168.0.224?-P?3306?-p mysql?-h?192.168.0.225?-P?3306?-p

測試:

任意關閉其中一個數據庫/兩個數據庫,測試連通性

12.安裝keepalived

腳本安裝:省略

13.配置主haproxy(192.168.0.224)的keepalived配置文件

vi??/etc/keepalived/keepalived.confglobal_defs?{notification_email?{15011254881@139.com}notification_email_from?15614119390@163.comsmtp_server?smtp.163.comsmtp_connect_timeout?30router_id?LVS_DEVEL } vrrp_script?chk_haproxy?{ script?"killall?-0?haproxy" interval?1 weight?2 } vrrp_instance?VI_1?{state?MASTERinterface?eth0virtual_router_id?8priority?100advert_int?1authentication?{auth_type?PASSauth_pass?1111}virtual_ipaddress?{192.168.0.226}track_script?{chk_haproxy } }

14.配置備haproxy(192.168.0.225)的keepalived配置文件

global_defs?{notification_email?{15011254881@139.com}notification_email_from?15614119390@163.comsmtp_server?smtp.163.comsmtp_connect_timeout?30router_id?LVS_DEVEL } vrrp_script?chk_haproxy?{ script?"killall?-0?haproxy" interval?1 weight?2 } vrrp_instance?VI_1?{state?SLAVEinterface?eth0virtual_router_id?8priority?99advert_int?1authentication?{auth_type?PASSauth_pass?1111}virtual_ipaddress?{192.168.0.226}track_script?{chk_haproxy } }


15.啟動haproxy和keepalived,測試haproxy的高可用

service??haproxy??start? service??keepalived?start

測試過程省略.

16.授權mysql的root用戶可以在任意的IP地址下登陸

mysql??-p? >grant??all??privileges??on?*.*??to??root@'%'??identified??by?'123'??with?grant?option; >flush?privileges;

17.測試登陸,查看是否每次重新連接mysql實例,是否達到負載均衡的效果

[root@os6---222?xinetd.d]#?mysql?-h?192.168.0.226??-p Enter?password: MariaDB?[(none)]>?show??variables??like??'wsrep_node_name'; +-----------------+-----------+ |?Variable_name???|?Value?????| +-----------------+-----------+ |?wsrep_node_name?|?os6---222?| +-----------------+-----------+ 1?row?in?set?(0.00?sec) MariaDB?[(none)]>?exit Bye[root@os6---222?xinetd.d]#?mysql?-h?192.168.0.226??-p Enter?password: MariaDB?[(none)]>?show??variables??like??'wsrep_node_name'; +-----------------+-----------+ |?Variable_name???|?Value?????| +-----------------+-----------+ |?wsrep_node_name?|?os6---223?| +-----------------+-----------+ 1?row?in?set?(0.00?sec) MariaDB?[(none)]>?exit Bye[root@os6---222?xinetd.d]#?mysql?-h?192.168.0.226??-p Enter?password: MariaDB?[(none)]>?show??variables??like??'wsrep_node_name'; +-----------------+-----------+ |?Variable_name???|?Value?????| +-----------------+-----------+ |?wsrep_node_name?|?os6---221?| +-----------------+-----------+ 1?row?in?set?(0.01?sec)

轉載于:https://blog.51cto.com/yujianglei/1726752

總結

以上是生活随笔為你收集整理的MariaDB Galera Cluster with HA Proxy and Keepalived on Cents 6的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。