MySQL —— Atlas 使用

配置:

Centos 6.6 minimal

CPU:    E5 - 2620 x 2

Mem:   64G

Disk :   1T

内核配置如下:

[[email protected] ~]# sysctl -p
net.ipv4.ip_forward = 0
net.ipv4.conf.default.rp_filter = 1
net.ipv4.conf.default.accept_source_route = 0
kernel.sysrq = 0
kernel.core_uses_pid = 1
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_fin_timeout = 50
net.ipv4.tcp_keepalive_time = 1200
net.ipv4.tcp_mem = 94500000 915000000 927000000
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_timestamps = 0
net.ipv4.tcp_syn_retries = 1
net.ipv4.tcp_tw_recycle = 1
net.core.rmem_max = 16777216
net.core.wmem_max = 16777216
net.core.netdev_max_backlog = 262144
net.core.somaxconn = 262144
net.ipv4.tcp_max_orphans = 3276800
net.ipv4.tcp_max_syn_backlog = 262144
net.core.wmem_default = 8388608
net.core.rmem_default = 8388608
net.bridge.bridge-nf-call-ip6tables = 0
net.bridge.bridge-nf-call-iptables = 0
net.bridge.bridge-nf-call-arptables = 0
kernel.msgmnb = 65536
kernel.msgmax = 65536
kernel.shmmax = 68719476736
kernel.shmall = 4294967296
net.ipv4.tcp_synack_retries = 3
net.ipv4.ip_local_port_range = 1024 65000
net.ipv4.tcp_rmem = 4096 4096 16777216
net.ipv4.tcp_wmem = 4096 4096 16777216
fs.file-max = 65535
[[email protected] ~]#

Atlas 安装路径 :/usr/local/mysql-proxy

Atlas 配置如下:

[mysql-proxy]

#带#号的为非必需的配置项目

#管理接口的用户名
admin-username = admin	

#管理接口的密码
admin-password = admin

#Atlas后端连接的MySQL主库的IP和端口,可设置多项,用逗号分隔
proxy-backend-addresses = 10.10.10.1:3306

#Atlas后端连接的MySQL从库的IP和端口,@后面的数字代表权重,用来作负载均衡,若省略则默认为1,可设置多项,用逗号分隔
proxy-read-only-backend-addresses = 10.10.10.2:[email protected],10.10.10.3:[email protected]
#主库:10.10.10.1
#从库:10.10.10.2 、10.10.10.3
#用户名与其对应的加密过的MySQL密码,密码使用PREFIX/bin目录下的加密程序encrypt加密,下行的user1和user2为示例,将其替换为你的MySQL的用户名和加密密码!
pwds = root:CmzTQ3dAQ-VU3z0J1zByMQ==

#设置Atlas的运行方式,设为true时为守护进程方式,设为false时为前台方式,一般开发调试时设为false,线上运行时设为true,true后面不能有空格。
daemon = true

#设置Atlas的运行方式,设为true时Atlas会启动两个进程,一个为monitor,一个为worker,monitor在worker意外退出后会自动将其重启,设为false时只有worker,没有monitor,一般开发调试时设为false,线上运行时设为true,true后面不能有空格。
keepalive = true

#工作线程数,对Atlas的性能有很大影响,可根据情况适当设置
event-threads = 48

#日志级别,分为message、warning、critical、error、debug五个级别
log-level = message 

#日志存放的路径
log-path = /usr/local/mysql-proxy/log

#SQL日志的开关,可设置为OFF、ON、REALTIME,OFF代表不记录SQL日志,ON代表记录SQL日志,REALTIME代表记录SQL日志且实时写入磁盘,默认为OFF
#sql-log = ON

#慢日志输出设置。当设置了该参数时,则日志只输出执行时间超过sql-log-slow(单位:ms)的日志记录。不设置该参数则输出全部日志。
#sql-log-slow = 10000

#实例名称,用于同一台机器上多个Atlas实例间的区分
#instance = test

#Atlas监听的工作接口IP和端口
proxy-address = 10.10.10.254

#Atlas监听的管理接口IP和端口
admin-address = 127.0.0.1:2345

#分表设置,此例中person为库名,mt为表名,id为分表字段,3为子表数量,可设置多项,以逗号分隔,若不分表则不需要设置该项
#tables = person.mt.id.3

#默认字符集,设置该项后客户端不再需要执行SET NAMES语句
#charset = utf8

#允许连接Atlas的客户端的IP,可以是精确IP,也可以是IP段,以逗号分隔,若不设置该项则允许所有IP连接,否则只允许列表中的IP连接
#client-ips = 127.0.0.1, 

#Atlas前面挂接的LVS的物理网卡的IP(注意不是虚IP),若有LVS且设置了client-ips则此项必须设置,否则可以不设置
#lvs-ips =

关于内核与Atlas的配置,网络上很多很多教程了! 这边就不提及了。

ulimit 的修改是必须的,否则在打开与连接的时候会有提示。

针对Atlas 几点包括:

1、存储过程如果带insert 与 update 偶尔会发送到从库

2、线程重置(这个是360官方未做处理,其实不影响使用)

3、最好是关闭SELinux 。

4、Linux服务器安全软件限制,导致Atlas 并发到一定数量后被强制终止或重置而导致错误! (如非必要,请勿安装Linux安全软件)

以上,关于线程重置大约是并发上来,服务器内核、ulimit 没配置好也有一定关系,大家自己参考下自己的电脑性能给予相应的配置皆可~

如有错误、欢迎指出!

时间: 2024-10-31 15:26:14

MySQL —— Atlas 使用的相关文章

Mysql Atlas 安装记录

Atlas是360团队弄出来的一套基于MySQL-Proxy基础之上的代理,修改了MySQL-Proxy的一些BUG,并且优化了很多东西.Atlas官方链接: https://github.com/Qihoo360/Atlas/blob/master/README_ZH.mdAtlas下载链接: https://github.com/Qihoo360/Atlas/releases 依赖包安装*****************************************************

2016.1.7 Atlas

参考文档 [美][?ætl?s] A high-performance and stable proxy for MySQL https://github.com/Qihoo360/Atlas mysql  atlas http://www.oschina.net/p/atlas/ 双机    atlas https://www.centos.bz/2014/12/ha-load-balance-mysql-master-slave-architecture/ MySQL + Atlas ---

Qihoo360 Atlas MySQL Proxy测试小结

Qihoo360将他们改造后的MySQL Proxy项目开源了,至于为什么起名Atlas就不清楚了,项目地址:https://github.com/Qihoo360/Atlas.我2008年曾测试过官方版本的MySQL Proxy,主要是看中其连接池以及读写分离功能,不过当时的版本效率实在太差,后面就没再关注了.这几天对Qihoo360 Atlas做了下测试,下面是测试结果. 环境准备 服务器端: 测试机 DELL PE R710 CPU E5620  @ 2.40GHz(4 core, 8 t

【mysql】--MHA+Atlas

作者:曾老师 一.环境准备 1.mysql-db01 1 #系统版本 2 [[email protected] ~]# cat /etc/redhat-release 3 CentOS release 6.7 (Final) 4 #内核版本 5 [[email protected] ~]# uname -r 6 2.6.32-573.el6.x86_64 7 #IP地址 8 [[email protected] ~]# hostname -I 9 10.0.0.51 2.mysql-db02 1

使用Atlas实现MySQL读写分离

1.MySQL所在机器 192.168.29.128(Master) 192.168.29.129(Slave) 配置好主从同步,参考 http://www.cnblogs.com/luxh/p/4088420.html 2.下载安装Atlas https://github.com/Qihoo360/Atlas/releases 注意操作系统的版本,安装相应版本的Atlas.我下载的是Atlas-2.2.el6.x86_64.rpm 这里直接安装到192.168.29.130这台机器上. rpm

mysql高可用研究(二) 主从+MHA+Atlas

关于Atlas的详细介绍请访问:https://github.com/Qihoo360/Atlas/blob/master/README_ZH.md 为什么要使用Atlas?应用程序直连数据库不好吗?还要在前面加上一层代理,会不会降低应用的读写性能?会不会增加维护管理的成本?我想这是每个使用atlas之前的疑问. 1.为什么要使用Atlas? 我们使用atlas,主要使用它的读写分离和从库负载均衡功能.因为咱们这读业务远远多于写,故采用读写分离的架构再合适不过了.之前实现读写分离,一般都是通过应

采用Atlas+Keepalived实现MySQL读写分离、读负载均衡

========================================================================================== 一.基础介绍 ========================================================================================== 1.背景描述 目前我们的高可用DB的代理层采用的是360开源的Atlas,从上线以来,已稳定运行2个多月.无论是从性能上,

Atlas实现Mysql读写分离(结合MHA)

一.Atlas介绍 Atlas是由 Qihoo 360, Web平台部基础架构团队开发维护的一个基于MySQL协议的数据中间层项目.它是在mysql-proxy 0.8.2版本的基础上,对其进行了优化,增加了一些新的功能特性.360内部使用Atlas运行的mysql业务,每天承载的读写请求数达几十亿条. 目前实现比较稳定功能的是读写分离.分库分表还没那么的完善.. 二.环境: 操作系统版本:CentOS-6.5 64bit Atlas 版本: 2.2.1 mysql 版本: mysql-5.6.

atlas+keepalive mysql的读写分离和高可用

安装atlas Rpm   -ivh  Atlas-2.2.el6.x86_64.rpm 安装目录:/usr/local/mysql_proxy/bin  启动文件Atlas管理接口使用: # mysql -u管理用户 -p管理密码 -h127.0.0.1 -P管理端口 # mysql -uuser -ppwd -h127.0.0.1 -P2345 #查看DB状态:mysql> select * from backends; /usr/;local/mysql_proxy/conf    tes