`
498320858
  • 浏览: 387119 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

haproxy实现mysql数据库负载均衡

阅读更多

原文haproxy实施mysql负载均衡参考文章:http://www.oschina.nhttp://yongkuang.iteye.com/admin/blogs/newet/question/17_4131

 

但对照此文实现mysql负载均衡中碰到一些问题,解决这些问题的同时也顺便学习了所涉及到的知识点,在这里一一记录下。

 

1.在xinetd.d目录下设置了service的端口,但是通过netstat -nap|grep 端口 发现找不到该端口

问题涉及到得知识点:

1.1 xinetd托管的服务的端口设置是在/etc/services 文件中设置

1.2 xinetd.d中的service 的名称必须和/etc/services 中设置的名称一样,否则无法启动

 

2.

ERROR_MSG=/usr/bin/mysql --host=$MYSQL_HOST --port=$MYSQL_PORT --user=$MYSQL_USERNAME --password=$MYSQL_PASSWORD -e "show databases;"

此句单独执行无问题,但放在shell批处理文件中执行,将会在这一句报错,有人说把=后边的命令用边括号括起来可以解决问题,但实际上并没有真正的解决问题,而是隐藏了问题(把ERROR_MSG赋值为字符串,而不是=后边的命令执行结果),如果希望在shell批处理中得到命令行执行的结果,正确的写法应该是把命令行放入$()中,此句正确写法应该是

ERROR_MSG=$(/usr/bin/mysql --host=$MYSQL_HOST --port=$MYSQL_PORT --user=$MYSQL_USERNAME --password=$MYSQL_PASSWORD -e "show databases;"
)

 

3.写好干净的批处理文件后,直接执行该批处理文件,可以得到正确结果,但是如果通过xinetd的端口托管访问时,连接始终一闪而过,查看系统日志会出现

Apr2222:01:47 AY1304111122016 xinetd[20001]: START: mysqlchk pid=20126 from=127.0.0.1Apr2222:01:47 AY1304111122016 xinetd[20126]: execv(/home/fulu/download/mysqlchk_status2.sh ) failed:Exec format error (errno =8)Apr2222:01:47 AY1304111122016 xinetd[20001]: EXIT: mysqlchk status=0 pid=20126 duration=0(sec)

此问题一开始始终无法找到解决方案,但是通过不懈的google,终于找到病灶了,原来是批处理文件的第一行一定要包含文件命令行注释,格式#+!+命令行路径

#!/bin/bash

 也就是说如果批处理文件希望被其他的程序(python,xinetd)调用时,一定要在文件第一行加一句命令行申明注释,并遵循固定格式4.linux上安装启动多个mysql服务器,原文参看http://www.net527.cn/a/caozuoxitong/Linux/8688.html;最优方案为在一个mysql-server的基础上新初始化一个mysql数据,主要步骤4.1 初始化新的数据mysql_install_db --defaults-file=/etc/my.2.cnf4.2 启动新的数据库mysqld_safe --defaults-file=/etc/my.2.cnf至于数据库存放位置,进程,日志等路径均可在配置文件中设置,安装完成后,需要将配置文件中涉及到的路径的拥有者设置为mysql5.真实的线上数据库负载均衡环境方案为5.1 多个webserver》一个haproxy作为数据库负载均衡控制器》多个mysql服务器(建议两个主主,多个从) 5.2  多个webserver》多个mysql服务器(与webserver一对一)》共享的数据节点ndbd  【方案参考:http://www.iteye.com/topic/149130】,个人不看好此方式

 

6.效率有待测试,暂时仅仅部署成功,后续补上测试报告

分享到:
评论

相关推荐

    mysql负载均衡完美解决方案

    说明:mdb vip用于DB的写,sdb vip用于DB读,实现读写分离和负载均衡,带故障检测自动切换 2. 架构图 web1 web2 web3 | | | —————————- | haproxy(lb db write/read) | ———————————- | ...

    Keepalived+HAProxy实现MySQL高可用负载均衡的配置

    由于在生产环境使用了mysqlcluster,需要实现高可用负载均衡,这里提供了keepalived+haproxy来实现.  keepalived主要功能是实现真实机器的故障隔离及负载均衡器间的失败切换.可在第3,4,5层交换.它通过VRRPv2(Virtual ...

    mariadb+haproxy负载均衡集群搭建

    • 真正的multi-master,即所有节点可以同时读写数据库 • 自动的节点成员控制,失效节点自动被清除 • 新节点加入数据自动复制 • 真正的并行复制,行级 • 用户可以直接连接集群,使用感受上与MySQL完全一致

    haproxyconsole:主从HAProxy负载均衡任务管理系统

    由于HAProxy的负载均衡任务可能会很多,手动编辑配置文件非常不方便,不安全,所以实现一个友好的管理系统是非常必要的。 功能点: TCP协议负载均衡任务的增删改改,任务的列表展示; 一键应用最新配置到主服务器或...

    python实现mysql的读写分离及负载均衡

    Oracle数据库有其公司开发的配套rac来实现负载均衡,目前已知的最大节点数能到128个,但是其带来的维护成本无疑是很高的,并且rac的稳定性也并不是特别理想,尤其是节点很多的时候。  但是,相对mysql来说,rac的...

    HAProxy+Keepalived+MyCat

    MyCat高可用负载均衡集群实现,方便你快速上手,及学习。

    当前一种先进实用的架构设计

    总之,这是一个先进实用的架构,采用了haproxy、lvs、keeplived进行负载均衡,使用couchbase、squid进行缓存,使用mysql数据库主从方式,使用lucene搜索等技术,他们的配置要进行优化,提供了HA、HP的服务性能,值得...

    MySQL大型分布式集群 龙果学院

    第1节 课程概述 [免费观看] 00:12:22分钟 | 第2节 课程背景 [免费观看] 00:09:12分钟 ...纵观大型网站架构发展,总结持久化部分需要应对的问题 ...另外一种切分方式-使用客户端组件的方式实现数据库分 00:06:20分钟 |

    mysql分布式集群架构视频

    mysql分布式集群架构视频,包含linux上安装mysql,主从复制、主主复制、负载均衡、haproxy监控、高可用、keepalived、分库分表、数据库中间件-mycat、以及mycat的各种使用,自己学的这个视频,60多集,挺不错的

    数据库高可用架构(MySQL、Oracle、MongoDB、Redis)

    MySQL小型高可用架构方案...3、如果不采用F5作为从库的负载均衡器,可用2台PCSERVER部署LVS或HAProxy+Keepalived组合来代替;优点:双主热备模式,读写分离,SLAVE集群可线性扩展缺点:读写分离需要在程序端解决,Mast

    web级mysql实战

    同时本课程的高潮在:1、mysql+memcached的结合实战2、mysql+redis的结合实战3、mysql+mycat(数据库中间件)在分库分表中的基本使用4、mysql+HaProxy的负载均衡配置5、实际案例中的一些表设计讲解。

    Linux高级运维线上实战 架构设计运维千万级电商系统解决方案

    对于高可用性和负载均衡的系统,需要掌握相关的技术,如Nginx、HAProxy、Keepalived等。 数据库的管理也是系统运维中的重要一环,需要掌握MySQL、Redis等常见数据库的安装、配置和管理。 安全备份和恢复也是系统运维...

    基于SpringBoot+Vue的外卖网上点餐系统源码+项目说明.zip

    项目部署上采用Doker虚拟化技术部署在自己的阿里云上,整合合Nginx、Haproxy和keepalived,从数据库到后端、前端均采用多节点负载均衡策略部署。 整个项目用的都是目前主流的技术,覆盖前后端各个技术的基础,从...

    142道IT运维面试题

    包含负载均衡、TCP网络、常见面试问题、数据库、Mysql、lvs+nginx、apache、tomcat、nginx、磁盘阵列、zabbix、Prometheus、Haproxy、LVS+keepalived、网络模型、redis、kafka、CI/CD、k8s、日志监控、

    174道IT运维面试题

    包含负载均衡、TCP网络、常见面试问题、数据库、Mysql、lvs+nginx、apache、tomcat、nginx、磁盘阵列、zabbix、Prometheus、Haproxy、LVS+keepalived、网络模型、redis、kafka、CI/CD、k8s、日志监控、

Global site tag (gtag.js) - Google Analytics