Atlas-sharding_1.0.1安装配置

1.环境

OS: CentOS 6.5 x64

MySQL: 5.6 for Linux (x86_64)

Atlas IP        : 192.168.10.180

MySQL Master IP : 192.168.10.181

MySQL Slave IP  : 192.168.10.182

注意:先将MySQL的主从复制配置好


MySQL源码安装可以参考:http://blog.csdn.net/john_chang11/article/details/51593220

MySQL RPM安装可以参考:http://blog.csdn.net/john_chang11/article/details/51622725


2.Atlas准备

使用是支持分片的最新版本:Atlas-sharding_1.0.1,使用rpm包安装,下载地址:https://github.com/Qihoo360/Atlas/releases/

想要看源码的可以看这里:https://github.com/Qihoo360/Atlas/tree/sharding


atlas官网上给出了以下提示:

(1).Atlas只能安装运行在64位的系统上。
(2).Centos 5.X安装 Atlas-XX.el5.x86_64.rpm,Centos 6.X安装Atlas-XX.el6.x86_64.rpm.
(3).后端mysql版本应大于5.1,建议使用Mysql 5.6.

3.Atlas安装

sudo rpm –i Atlas-XX.el6.x86_64.rpm安装。就这么简单。

安装目录在:/usr/local/mysql-proxy

目录内容如下:

[root@test1 ~]# cd /usr/local/mysql-proxy/
[root@test1 mysql-proxy]# ls
bin  conf  include  lib  libexec  log  share

4.配置文件修改

配置文件在./conf目录下,默认有个test.cnf文件,里面有所有的配置项,只要复制修改这个文件就行。

[root@test1 mysql-proxy]# cd conf/
[root@test1 conf]# vi test.cnf 

[mysql-proxy]

(必备,默认值即可)管理接口的用户名。这是Atlas的管理用户与MySQL库的用户没有任何关系,可以随便配置。后面会有该用户的使用说明
admin-username = user
(必备,默认值即可)管理接口的密码
admin-password = 111
(必备,根据实际情况配置)主库的IP和端口
proxy-backend-addresses =192.168.10.181:3306
(非必备,根据实际情况配置)从库的IP和端口,@后面的数字代表权重,用来作负载均衡,若省略则默认为1,可设置多项,用逗号分隔。如果想让主库也能分担读请求的话,只需要将主库信息加入到下面的配置项中。
proxy-read-only-backend-addresses =192.168.10.182:3306@1
(必备,根据实际情况配置)用户名与其对应的加密过的MySQL密码,密码使用PREFIX/bin目录下的加密程序encrypt加密,用户名与密码之间用冒号分隔。主从数据库上需要先创建该用户并设置密码(用户名和密码在主从数据库上要一致)。比如用户名为user,密码为111,执行./encrypt mypwd结果为9YGoyKZPMdg=。如果有多个用户用逗号分隔即可。则设置如下行所示:
pwds = user: 9YGoyKZPMdg=,user2:HJBoxfRsjeI=
(必备,默认值即可)Atlas的运行方式,设为true时为守护进程方式,设为false时为前台方式,一般开发调试时设为false,线上运行时设为true
daemon = true
(必备,默认值即可)设置Atlas的运行方式,设为true时Atlas会启动两个进程,一个为monitor,一个为worker,monitor在worker意外退出后会自动将其重启,设为false时只有worker,没有monitor,一般开发调试时设为false,线上运行时设为true
keepalive = true
(必备,根据实际情况配置)工作线程数,推荐设置成系统的CPU核数的2至4倍。Atlas官网上推荐设置为CPU的核数。本人推荐设置为CPU核数的1到2倍。
event-threads = 4
(必备,默认值即可)日志级别,分为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。这里的日志是Atlas的日志,与MySQL的日志无关。
sql-log = OFF
(可选项,可不设置)慢日志输出设置。当设置了该参数时,则日志只输出执行时间超过sql-log-slow(单位:ms)的日志记录。不设置该参数则输出全部日志。
sql-log-slow = 10
(可选项,可不设置)关闭不活跃的客户端连接设置。当设置了该参数时,Atlas会主动关闭经过'wait-timeout'时间后一直未活跃的连接。单位:秒
wait-timeout = 10
#实例名称,用于同一台机器上多个Atlas实例间的区分。同一台机器上的多个Atlas实例,使用不同的端口,对应不同数据库,使用各自的配置文件。
instance = test
(必备,默认值即可)Atlas监听的工作接口IP和端口
proxy-address = 192.168.10.180:1234
(必备,默认值即可)Atlas监听的管理接口IP和端口。登录这个地址就要使用这个配置文件最开始时配置的用户和密码。
admin-address = 192.168.10.180:2345
(可选项,可不设置)分表设置,此例中person为库名,mt为表名,id为分表字段,3为子表数量,可设置多项,以逗号分隔,若不分表则不需要设置该项,子表需要事先建好,子表名称为表名_数字,数字范围为[0,子表数-1],如本例里,子表名称为mt_0、mt_1、mt_2。关于分表会专门文章介绍,这里不配置分表。
#tables = person.mt.id.3
(可选项,可不设置)默认字符集,若不设置该项,则默认字符集为latin1。为了支持汉字,需要配置成utf8。
charset = utf8
(可选项,可不设置)允许连接Atlas的客户端的IP,可以是精确IP,也可以是IP段,以逗号分隔,若不设置该项则允许所有IP连接,否则只允许列表中的IP连接
#client-ips = 127.0.0.1, 192.168.1
(可选项,极少需要)Atlas前面挂接的LVS的物理网卡的IP(注意不是虚IP),若有LVS且设置了client-ips则此项必须设置,否则可以不设置
#lvs-ips = 192.168.1.1
5.密码生成
配置文件里pwds参数需要加密的密码,假如密码为111,生成这个密码的加密字符串方式为:
[root@test1 mysql-proxy]# /usr/local/mysql-proxy/bin/encrypt 111
9YGoyKZPMdg= (这就是加密字符串
[root@test1 mysql-proxy]# 

6.启动 停止 Atlas
启动:
[root@test1 mysql-proxy]# /usr/local/mysql-proxy/bin/mysql-proxyd test start
OK: MySQL-Proxy of test is started
或者用指定参数文件方式启动:
[root@test1 mysql-proxy]# /usr/local/mysql-proxy/bin/mysql-proxy --defaults-file=/usr/local/mysql-proxy/conf/test.cnf

查看状态:
[root@test1 mysql-proxy]# /usr/local/mysql-proxy/bin/mysql-proxyd test status
MySQL-Proxy of test is running (7024)
MySQL-Proxy of test is running (7025)

停止:
[root@test1 mysql-proxy]# /usr/local/mysql-proxy/bin/mysql-proxyd test stop
OK: MySQL-Proxy of test is stopped

查看状态:
[root@test1 mysql-proxy]# /usr/local/mysql-proxy/bin/mysql-proxyd test status
MySQL-Proxy of test is NOT running
[root@test1 mysql-proxy]# 


7.制作Atlas启动脚本
[root@test1 mysql-proxy]# vi /etc/init.d/atlas
#!/bin/sh  
#  
# chkconfig: 2345 90 90
# description:  Atlas Daemon  
#  
start()  
{  
        echo -n $"Starting atlas: "  
        /usr/local/mysql-proxy/bin/mysql-proxyd test start  
        echo   
}  
stop()  
{  
        echo -n $"Shutting down atlas: "  
        /usr/local/mysql-proxy/bin/mysql-proxyd test stop  
        echo  
}  
ATLAS="/usr/local/mysql-proxy/bin/mysql-proxyd"  
[ -f $ATLAS ] || exit 1  
# See how we were called.  
case "$1" in  
        start)  
                start  
                ;;  
        stop)  
                stop  
                ;;  
        restart)  
                stop  
                sleep 3  
                start  
                ;;  
        *)  
                echo $"Usage: $0 {start|stop|restart}"  
                exit 1  
esac  
exit 0  

[root@test1 init.d]# chkconfig atlas on
[root@test1 init.d]#

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值