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

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

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2015-1-23 08:45:20 | 显示全部楼层 |阅读模式
现在用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 里的option  httpchk 注释或删除.  
打开option  httpchk 这个机器上一定要开80端口


运维网声明 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-41349-1-1.html 上篇帖子: Haproxy和keepalived高可用实验 下篇帖子: 用Haproxy负载percona XtraDB Cluster
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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