mysql cluster 读写分离_MySQL Cluster读写分离验证-Amoeba环境搭建

对MySQL Cluster的学习还在继续,这次OneCoder是利用Amoeba搭建一个可读写分离、均衡负载的MySQL集群环境。 跟MySQL Cluster一样,安装的过程就是下载、解压、配置、启动。 Amoeba官方文档地址:http://docs.hexnova.com/amoeba/index.html Amoeba项目地址:

对MySQL Cluster的学习还在继续,这次OneCoder是利用Amoeba搭建一个可读写分离、均衡负载的MySQL集群环境。

跟MySQL Cluster一样,安装的过程就是下载、解压、配置、启动。

Amoeba官方文档地址:http://docs.hexnova.com/amoeba/index.html

Amoeba项目地址:http://sourceforge.net/projects/amoeba/files/

解压后,在运行命令:

$>amoeba

验证的时候,就出现了第一个问题:

The stack size specified is too small, Specify at least 160k.

显然是JVM参数的问题。用vim编辑amoeba启动文件。修改其中的:

dac2a3d1c31af882a85352e8e13ccff1.png

将图中选中行的DEFAULT_OPTS="-server ..."最后的 -Xss128k, 改为512k即可。验证通过。继续配置Amoeba。

以下内容摘自Amoeba官方文档:

Amoeba有哪些主要的配置文件?

想象Amoeba作为数据库代理层,它一定会和很多数据库保持通信,因此它必须知道由它代理的数据库如何连接,比如最基础的:主机IP、端口、Amoeba使用的用户名和密码等等。这些信息存储在$AMOEBA_HOME/conf/dbServers.xml中。

Amoeba为了完成数据切分提供了完善的切分规则配置,为了了解如何分片数据、如何将数据库返回的数据整合,它必须知道切分规则。与切分规则相关的信息存储在$AMOEBA_HOME/conf/rule.xml中。

当我们书写SQL来操作数据库的时候,常常会用到很多不同的数据库函数,比如:UNIX_TIMESTAMP()、SYSDATE()等等。这些函数如何被Amoeba解析呢?$AMOEBA_HOME/conf/functionMap.xml描述了函数名和函数处理的关系。

对$AMOEBA_HOME/conf/rule.xml进行配置时,会用到一些我们自己定义的函数,比如我们需要对用户ID求HASH值来切分数据,这些函数在$AMOEBA_HOME/conf/ruleFunctionMap.xml中定义。

Amoeba可以制定一些可访问以及拒绝访问的主机IP地址,这部分配置在$AMOEBA_HOME/conf/access_list.conf中

Amoeba允许用户配置输出日志级别以及方式,配置方法使用log4j的文件格式,文件是$AMOEBA_HOME/conf/log4j.xml。

修改dbServers.xml中的关于数据库链接的配置(一目了然)。

909215e7a3d070d147d1dcf1db26111a.png

然后确认MySQL Cluster运行正常,再启动 Amoeba。

3a3c0706aa31e6e92c697c05803b5b4f.png

通过MySQL命令直接连接205进行测试。成功访问。

这里其实OneCoder遇到一个挺巧的问题,就是我环境中的server1暂时不好用,我仅仅配置了server2。可以启动,但是客户端连接就总报拒绝访问。几番检查,才在amoeba.xml中发现了一个默认节点的设置。还配置的server1,改成server2终于好用了。

8821cf2659c145bddb0c83edc65eaff7.png

可以看到服务的version已经是mysql-amoeba-proxy了。并且通过show databases命令也可以正常列出数据库列表了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值