此文章源于浅谈MySQL集群高可用架构
对文章中的架构扩展介绍,之前写过一篇关于MHA的文章MySQL集群高可用架构之MHA
Mycat介绍
官网: http://mycat.io/
电子书: http://mycat.io/document/Mycat_V1.6.0.pdf
书: http://blog.csdn.net/wind520/article/details/53213691
MyCAT采用Java开发,实现MysqL公开的二进制协议,将自己伪装成MysqL Server;应用只需连接MyCAT 执行sql,MyCAT按照配置的策略,分发sql至相应的MysqL节点。
什么是MYCAT
Mycat整体架构图
Mycat特点介绍
这个配置这里就不再赘述了,可参考前面的文章
安装Mycat服务
生产环境最好单独使用服务器进行安装,测试环境安装在主库上
需要安装JAVA环境
[root@MysqL-m ~]# java -version
java version "1.8.0_144"
Java(TM) SE Runtime Environment (build 1.8.0_144-b01)
Java HotSpot(TM) 64-Bit Server VM (build 25.144-b01, mixed mode)
安装Mycat服务
[root@MysqL-m local]# wget http://dl.mycat.io/1.6-RELEASE/Mycat-server-1.6-RELEASE-20161028204710-linux.tar.gz
[root@MysqL-m local]# tar zxf Mycat-server-1.6-RELEASE-20161028204710-linux.tar.gz
[root@MysqL-m local]# cd mycat/
[root@MysqL-m mycat]# ll
total 24
drwxr-xr-x 2 root root 4096 Sep 23 19:13 bin
drwxrwxrwx 2 root root 4096 Mar 1 2016 catlet
drwxrwxrwx 4 root root 4096 Sep 23 19:13 conf
drwxr-xr-x 2 root root 4096 Sep 23 19:13 lib
drwxrwxrwx 2 root root 4096 Oct 28 2016 logs
-rwxrwxrwx 1 root root 217 Oct 28 2016 version.txt
[root@MysqL-m mycat]# cat >>/etc/profile<<EOF
> export MYCAT_HOME=/usr/local/mycat
> export PATH=$PATH:$MYCAT_HOME/bin
> EOF
[root@MysqL-m mycat]# source /etc/profile
配置Mycat服务
#以下四项取消注释,修改如下
<!--默认是65535 64K 用于sql解析时最大文本长度 -->
<property name="maxStringLiteralLength">65535</property>
<property name="sequnceHandlerType">0</property>
<property name="backSocketNoDelay">1</property>
<property name="frontSocketNoDelay">1</property>
<property name="processorExecutor">1</property>
配置schema.xml文件
主从服务器上配置读写的用户user并给以相应的权限
启动服务
查看数据读写入口
从上面可以看出数据写入与读取的入口在哪个库上
测试Mycat读写分离功能
接下来测试通过mycat来进行对主从数据库的读写操作
上面的数据是从逻辑数据库插入与查询的,接下来分别从主从库查看数据是否写入成功
再次查看数据源的入口情况
Mycat性能监控
下载WEB管理端软件
wget https://github.com/MyCATApache/Mycat-download/blob/master/mycat-web-1.0/Mycat-web-1.0-SNAPSHOT-20160617163048-linux.tar.gz
需要安装zookeeper
[root@MysqL-m local]# wget http://mirrors.hust.edu.cn/apache/zookeeper/zookeeper-3.4.6/zookeeper-3.4.6.tar.gz
[root@MysqL-m local]# tar zxf zookeeper-3.4.6.tar.gz
[root@MysqL-m local]# ln -s zookeeper-3.4.6 zookeeper
[root@MysqL-m conf]# cp zoo_sample.cfg zoo.cfg
[root@MysqL-m bin]# ./zkServer.sh start
JMX enabled by default
Using config: /usr/local/zookeeper/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED
[root@MysqL-m ~]# lsof -i :2181
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
java 3639 root 25u IPv6 19337 0t0
TCP *:eforward (LISTEN)
安装WEB管理端
[root@MysqL-m bin]# cd /usr/local/
[root@MysqL-m local]# tar zxf Mycat-web-1.0-SNAPSHOT-20160617163048-linux.tar.gz
[root@MysqL-m local]# cd mycat-web/mycat-web/WEB-INF/classes/
[root@MysqL-m classes]# ll
total 28
drwxr-xr-x 3 root root 4096 Jun 17 2016 com
-rw-r--r-- 1 root root 367 Jun 17 2016 jdbc.properties
-rw-r--r-- 1 root root 4068 Jun 17 2016 log4j2.xml
drwxr-xr-x 3 root root 4096 Jun 17 2016 mybatis
-rw-r--r-- 1 root root 411 Jun 17 2016 mycat.properties
drwxr-xr-x 3 root root 4096 Jun 17 2016 org
drwxr-xr-x 2 root root 4096 Sep 26 00:21 spring
[root@MysqL-m classes]# vim mycat.properties
#
#Mon Jan 16 15:37:36 CST 2012
show.period=3000000
zookeeper=10.0.0.11:2181
[root@MysqL-m mycat-web]# /usr/local/mycat-web/start.sh &
[1] 3684
[root@MysqL-m mycat-web]# nohup: ignoring input and appending output to `nohup.out'
[root@MysqL-m mycat-web]# lsof -i :8082
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
java 3685 root 122u IPv6 20997 0t0 TCP *:us-cli (LISTEN)
推荐阅读
·end·
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。