上一节我们有了两个分片的pxc集群,这一节我们接着安装haproxy和keepalived的实现集群的高可用

一、先下载haproxy的镜像

[root@localhost ~]# docker pull haproxy

二、在host主机上写好配置文件,启动容器时候读取haproxy.cfg,vim /usr/local/docker/haproxy/haproxy.cfg

global#工作目录chroot /usr/local/etc/haproxy#日志文件,使用rsyslog服务中local5日志设备(/var/log/local5),等级infolog 127.0.0.1 local5 info#守护进程运行daemon
defaultslog globalmode    http#日志格式option  httplog#日志中不记录负载均衡的心跳检测记录option  dontlognull#连接超时(毫秒)timeout connect 5000#客户端超时(毫秒)timeout client  50000#服务器超时(毫秒)timeout server  50000
#监控界面
listen  admin_stats#监控界面的访问的IP和端口bind  0.0.0.0:8888#访问协议mode        http#URI相对地址stats uri   /dbs#统计报告格式stats realm     Global\ statistics#登陆帐户信息stats auth  admin:haproxy
#数据库负载均衡
listen  proxy-mysql#访问的IP和端口bind  0.0.0.0:3306#网络协议mode  tcp#负载均衡算法(轮询算法)#轮询算法:roundrobin#权重算法:static-rr#最少连接算法:leastconn#请求源IP算法:sourcebalance  roundrobin#日志格式option  tcplog#在MySQL中创建一个没有权限的haproxy用户,密码为空。Haproxy使用这个账户对MySQL数据库心跳检测option  mysql-check user haproxyserver  MySQL_1 172.18.0.2:3306 check weight 1 maxconn 2000server  MySQL_2 172.18.0.3:3306 check weight 1 maxconn 2000server  MySQL_3 172.18.0.4:3306 check weight 1 maxconn 2000#使用keepalive检测死链option  tcpka

 三、在pxc集群里面先创建haproxy用户并授予权限

mysql> create user 'haproxy'@'%' identified by '';

 四、启动第一个haproxy容器

[root@localhost haproxy]# docker run -it -d -p 4001:8888 -p 4002:3306 -v /usr/local/docker/haproxy:/usr/local/etc/haproxy --name h1 --privileged --net=pxc_network --ip 172.18.0.10 haproxy

启动haproxy

docker exec -it h1 bashhaproxy -f /usr/local/etc/haproxy/haproxy.cfg

先设置配置文件,vim /usr/local/docker/haproxy2/haproxy.cfg,当然你也可以设置其他的目录来存放第二个haproxy的配置文件

global#工作目录chroot /usr/local/etc/haproxy#日志文件,使用rsyslog服务中local5日志设备(/var/log/local5),等级infolog 127.0.0.1 local5 info#守护进程运行daemon
defaultslog globalmode    http#日志格式option  httplog#日志中不记录负载均衡的心跳检测记录option  dontlognull#连接超时(毫秒)timeout connect 5000#客户端超时(毫秒)timeout client  50000#服务器超时(毫秒)timeout server  50000
#监控界面
listen  admin_stats#监控界面的访问的IP和端口bind  0.0.0.0:8888#访问协议mode        http#URI相对地址stats uri   /dbs#统计报告格式stats realm     Global\ statistics#登陆帐户信息stats auth  admin:haproxy
#数据库负载均衡
listen  proxy-mysql#访问的IP和端口bind  0.0.0.0:3306#网络协议mode  tcp#负载均衡算法(轮询算法)#轮询算法:roundrobin#权重算法:static-rr#最少连接算法:leastconn#请求源IP算法:sourcebalance  roundrobin#日志格式option  tcplog#在MySQL中创建一个没有权限的haproxy用户,密码为空。Haproxy使用这个账户对MySQL数据库心跳检测option  mysql-check user haproxyserver  MySQL_1 172.18.0.5:3306 check weight 1 maxconn 2000server  MySQL_2 172.18.0.6:3306 check weight 1 maxconn 2000server  MySQL_3 172.18.0.7:3306 check weight 1 maxconn 2000#使用keepalive检测死链option  tcpka

接着我们启动第二个haproxy容器

[root@localhost haproxy]# docker run -it -d -p 4003:8888 -p 4004:3306 -v /usr/local/docker/haproxy2:/usr/local/etc/haproxy --name h2 --privileged --net=pxc_network --ip 172.18.0.20 haproxy

 启动haproxy

docker exec -it h1 bashhaproxy -f /usr/local/etc/haproxy/haproxy.cfg 

五、集群的监控界面,http://192.168.1.19:4001/dbs

转载于:https://www.cnblogs.com/liangyuntao-ts/p/10668273.html

Docker 搭建pxc集群 + haproxy + keepalived 高可用(二)相关推荐

  1. docker搭建pxc集群

    前言 随着mysql存储的数据量越来越大,mysql查询单表时的响应速度也会随之变慢,尤其是当单节点承载的数据量超出一定的范围后,比如单表超过2000万之后,查询响应速度会下降的很快,因此,一方面可以 ...

  2. Java架构师:单体部署 ->Nginx 集群 -> + Keepalived“高可用”组件 -> + LVS负载均衡

    一.集群阶段开篇概述 1.单体部署 1.1 单台服务器(节点)部署 1.2.多台服务器(节点)部署 集群.分布式.微服务中的各个服务器节点必须互通,必须在同一个局域网(内网要通) 1.3.单体架构的优 ...

  3. RabbitMQ集群安装配置+HAproxy+Keepalived高可用

    RabbitMQ集群安装配置+HAproxy+Keepalived高可用 转自:https://www.linuxidc.com/Linux/2016-10/136492.htm rabbitmq 集 ...

  4. Haproxy+keepalived高可用集群实战

    前言 随着互联网火热的发展,开源负载均衡器的大量的应用,企业主流软件负载均衡如LVS.Haproxy.Nginx等,各方面性能不亚于硬件负载均衡F5,Haproxy提供高可用性.负载均衡以及基于TCP ...

  5. Mysql搭建PXC集群 - Percona XtraDB Cluster

    转载来源:https://blog.csdn.net/lvshaorong/article/details/80501905  pxc集群是Percona XtraDB Cluster的缩写,是基于p ...

  6. Mac 使用 docker 搭建 kafka 集群 + Zookeeper + kafka-manager

    Kafka 搭建: 建立Zookeeper容器: 这里我们用最简单的方式创建一个独立的Zookeeper节点,如果要考虑zookeeper的高可用,可以将其做成一个集群,最好是能有多台机器. $ do ...

  7. [零基础]用docker搭建Hadoop集群

    目录 前言:为什么要用docker搭建Hadoop集群? 准备:下载VMware.VMwareTools(或Xftp.Xshell).Ubuntu或者CentOS映像文件.Hadoop和jdk压缩包 ...

  8. Docker搭建hadoop集群

    参考https://github.com/kiwenlau/hadoop-cluster-docker/blob/master/start-container.sh 因为之前在VMware上操作Had ...

  9. 用Docker搭建Elasticsearch集群

    用Docker搭建Elasticsearch集群 对于用Docker搭建分布式Elasticsearhc集群的一个介绍,以及一些实施中遇到问题的总结 搜索服务简述 结合业务的场景,在目前的商品体系需要 ...

最新文章

  1. 为什么大数据需要数据湖?
  2. HDLBits答案(16)_Verilog有限状态机(3)
  3. MySQL高级理论-MVCC提交查询相关(版本链)
  4. java常用api简单统计
  5. Https的数据请求的证书设置
  6. python爬虫入库到帝国cms_帝国小说连载系统合理利用第三方云爬虫缓存章节内容...
  7. 嵌入式 博客导航大牛群集
  8. windows.h 详解
  9. 基于Python实现网页版之复杂图片去水印
  10. Excel表格如何自动添加边框
  11. python中class什么意思_python中的class是什么意思
  12. 怎么解决ZBrush保存历史记录太多问题
  13. 人一生中要学会说的十种话
  14. randn函数 python_Python numpy matrix randn()用法及代码示例
  15. SolidWorks 2014管道布线设计详细视频教程
  16. OpenCV批量处理图片
  17. Java基于内存的消息队列实现
  18. MySQL索引详解之索引的数据结构
  19. 面试官:hold住了八股和算法,扫码登录应该怎么实现你总不会了吧
  20. 杰里之AC696N 的 LADC 和蓝牙后台设计注意【篇】

热门文章

  1. 陈述、叙述、表述、描述的区别
  2. iTerm2 隐藏用户名和主机名
  3. RFC(一系列以编号排定的文件)
  4. php 打包下载网络图片,PHP实现图片批量打包下载功能
  5. docker初识_初识 docker 搭建自己的开发环境
  6. redis 发布订阅实际案例_【赵强老师】Redis的消息发布与订阅
  7. c语言sort函数排序二维数组,c++ - 如何使用stl sort函数根据第二列对二维数组进行排序? - 堆栈内存溢出...
  8. cba比赛比分预测_【CBA直播】深圳vs广东前瞻:深圳战广东再掀反攻?
  9. C 常用新特性(上)
  10. 计算机二级测试试题及答案,2017计算机二级测试题及答案解释