设为首页 收藏本站
查看: 2220|回复: 0

[经验分享] 用Haproxy负载percona XtraDB Cluster

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2015-1-26 10:05:19 | 显示全部楼层 |阅读模式
现在用Haproxy给Percona xtraDB Cluster做负载均衡,机器还是那两台机器,(本来做负载均衡要三台机器,但个人笔记本跑两个虚拟机就有点卡了所以就用了两个)。就把Haproxy安装到第一台percona上了。

Haproxy

OS: Ubuntu 14.04 server IP: 172.16.53.136


Percona- Node 1

OS: Ubuntu 14.04 server IP: 172.16.53.136


Percona- Node 2  

OS: Ubuntu 14.04 server IP: 172.16.53.137


两台Percona都要启动起来:

mysql -u root -p -e "INSERT INTO mysql.user (Host,User) values ('172.16.53.136','haproxy_check'); FLUSH PRIVILEGES;"


root@mysql-1# mysql -u root -p -e "GRANT ALL PRIVILEGES ON *.* TO 'haproxy_root'@'172.16.53.136' IDENTIFIED BY 'password' WITH GRANT OPTION; FLUSH PRIVILEGES"

数据库要能从haproxy机器登录。


安装Haproxy

ubuntu安装下面链接里提供的方法就能安装好

http://haproxy.debian.net/

我用的是1.5版本,安装完后执行

sed -i "s/ENABLED=0/ENABLED=1/" /etc/default/haproxy

配置:

vi /etc/haproxy/haproxy.cfg

global


  log 127.0.0.1   local0


  log 127.0.0.1   local1 notice


  maxconn 4096


  uid 99



  gid 99


  daemon


  #debug

  quiet




defaults


  log     global


  mode    http


  option  tcplog


  option  dontlognull


  retries 3


  option redispatch


  maxconn 2000


  contimeout      5000




listen mysql-cluster 0.0.0.0:3307    (如果用两台机器测试 要把这个端口改掉,默认为3306)


  mode tcp


  balance roundrobin


  option  tcpka


  #option  httpchk  如果机器上没安装 http服务,(没开80端口)就把 option  httpchk 注释或删除.



  server db01.com 172.16.53.136 check port 9200 inter 12000 rise 3 fall 3

  server db02.com 172.16.53.137:3306 check port 9200 inter 12000 rise 3 fall 3

  


listen stats 0.0.0.0:8080


  mode http


  option httpchk


  balance roundrobin


  stats uri /


  stats refresh 10s


  stats realm Haproxy\ Statistics


  stats auth test:123456   这个账号是登录haproxy网页的账号  



在数据库的机器上编辑(两台机器都是加):

vi /usr/bin/clustercheck (这个要有执行权限)


MYSQL_USERNAME=haproxy_root   之前设置的数据库用户名  (这个要能从远程连接过来)

MYSQL_PASSWORD=123456

如果没有从别的地拷贝过来具体方法在网上搜下(同时还要有mysqlchk这个文件。这两个文件都要有执行权限)

vi /etc/services  最后加上:


mysqlchk        9200/tcp                # mysqlchk


启动 xinetd  (如果没有安装apt-get install xinetd)

service xinetd restart



启动haproxy


services haproxy start



haproxy -f /etc/haproxy/haproxy.cfg -p /var/run/haproxy.pid -d -V  (这个为调试启动,有错误会打印出来)





percona clust 用 Haproxy做负载均衡:

一直报:


[WARNING] 020/135012 (2536) : Server mysql-cluster/db01.com is DOWN, reason: Layer7 wrong status, code: 503, info: "Service Unavailable", check duration: 9ms. 1 active and 0 backup servers left. 0 sessions active, 0 requeued, 0 remaining in queue.

[WARNING] 020/135012 (2536) : Server mysql-cluster/db02.com is DOWN, reason: Layer7 wrong status, code: 503, info: "Service Unavailable", check duration: 9ms. 1 active and 0 backup servers left. 0 sessions active, 0 requeued, 0 remaining in queue.

[CST下午1时58分14秒] Hans Wang: [ALERT] 020/135018 (2536) : proxy 'mysql-cluster' has no server available!

解决方法:

如果机器上没安装 http服务,就把 mysql-cluster 里的opt

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-41486-1-1.html 上篇帖子: 用Haproxy负载percona XtraDB Cluster 下篇帖子: Haproxy实现负载均衡和静动分离
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表