amoeba读写分离配置实战

来源:互联网 发布:百度人工智能api 编辑:程序博客网 时间:2024/06/06 00:42

1.先配置mysql读写分离

这里关于mysql的安装就不说了,网上的教程比较多.
实现mysql的主从复制
在master服务器上执行如下命令:
#mysql –uroot –ptest
mysql> grant replication slave,file on *.* to 'sxit'@'10.10.0.77' identified by '123456';
mysql> flush privileges;
mysql> exit;
 
//修改master的my.cnf的配置
 
log-bin=mysql-bin            //打开mysql二进制日志
server-id = 1                //设置mysql_id,主从不能相同
binlog-do-db=test            //设置二进制日志记录的库
sync_binlog=1     
 
//修改slave的my.cnf的配置
 
log-bin=mysql-bin
server-id = 2
replicate-do-db=test          //设置同步的库
log-slave-updates            //同步后记录二进制日志  
sync_binlog=1
slave-net-timeout=60
 
分别重启主从mysqld服务,登录master服务器.
 
在master服务器上执行如下命令
 
# mysql –u root –ptest
mysql>  flush tables with read lock;
mysql>  show master status\G;
 
*************************** 1. row ***************************
 File: mysql-bin.000002
 Position: 106
 Binlog_Do_DB: test
Binlog_Ignore_DB:
 
mysql> unlock tables;
 
登陆到slave服务器,执行如下命令:
 
# mysql –u root –ptest
 
mysql>  stop slave;
 
mysql> change master to master_host='10.10.0.72', master_user='sxit', master_password='123456',
       master_log_file='mysql-bin.000002',master_log_pos=106;
 
mysql>  start slave;
 
mysql>  show slave status\G;

              如果出现下面的情况,说明主从同步已经成功!

            Slave_IO_Running: Yes

            Slave_SQL_Running: Yes



2. master,slave1,slave2,slave3,slave4 中开放权限给 Amoeba 访问。

 在 master,slave1,slave2,slave3,slave4 中分别执行

grant all on test.* to test_user@192.168.0.1 indentified by '1234';  

Amoeba 访问三个数据库的账号密码相同。


3.详细的配置文档看看这个官方地址就可以了。

http://docs.hexnova.com/amoeba/rw-splitting.html

明天继续弄一些优化方面的东西即可。


4:修改log4j.xml 取消日志文件生成(太大了,磁盘很容易满)
<param name="file" value="${amoeba.home}/logs/project.log"/>
改成
<param name="file" value="<![CDATA[${amoeba.home}/logs/project.log>/dev/null]]>"/>
5:性能优化,打开bin/amoeba

DEFAULT_OPTS="-server -Xms256m -Xmx256m -Xss128k"
改成
DEFAULT_OPTS="-server -Xms512m -Xmx512m -Xmn100m -Xss1204k"
6:启动amoeba
nohup /usr/local/amoeba/bin/amoeba start 2>&1 >/dev/null &


原创粉丝点击