一、MyCat 原理
在 MyCat 中,当执行一条 sql 语句时,MyCat 需要进行 sql 解析、分片分析、路由分析、读写分离分析等操作,最终经过一系列的分析决定将当前的 sql 语句到底路由到哪几个(或哪一个)节点数据库,数据库将数据执行完毕后,如果有返回的结果,则将结果返回给 MyCat,最终还需要在 MyCat 中进行结果合并、聚合处理、排序处理、分页处理等操作,最终再将结果返回给客户端。
而在 MyCat 的使用过程中,MyCat 官方也提供了一个管理监控平台 MyCat-Web(MyCat-eye)。 Mycat-web 是 Mycat 可视化运维的管理和监控平台,弥补了 Mycat 在监控上的空白。帮 Mycat 分担统计任务和配置管理任务。Mycat-web 引入了 ZooKeeper 作为配置中心,可以管理多个节点。Mycat-web 主要管理和监控 Mycat 的流量、连接、活动线程和内存等,具备 IP 白名单、邮件告警等模块,还可以统计 sql 并分析慢 sql 和高频 sql 等。为优化 sql 提供依据。
二、MyCat 管理
Mycat 默认开通 2 个端口,可以在 server.xml 中进行修改。
1、8066 数据访问端口,即进行 DML 和 DDL 操作。
2、9066 数据库管理端口,即 mycat 服务管理控制功能,用于管理 mycat 的整个集群状态。
连接 MyCat 的管理控制台:
mysql -h 192.168.229.158 -p 9066 -uroot -p1234
可以输入的常用管理命令如下:
命令 | 含义 |
show @@help | 查看 Mycat 管理工具帮助文档 |
show @@version | 查看 Mycat 的版本 |
reload @@config | 重新加载 Mycat 的配置文件,不用重启了 |
show @@datasource | 查看 Mycat 的数据源信息 |
show @@datanode | 查看 MyCat 现有的分片节点信息 |
show @@threadpool | 查看 Mycat 的线程池信息 |
show @@sql | 查看执行的 SQL |
show @@sql.sum | 查看执行的 SQL 统计 |
不过这种通过命令行进行管理的手段是不常用的,因为不太直观,我们接下来介绍下使用图形化界面来管理的手段。
三、MyCat-eye
3.1 介绍
Mycat-web(Mycat-eye)是对 mycat-server 提供监控服务,功能不局限于对 mycat-server 使用。他通过 JDBC 连接对 Mycat、Mysql 监控,监控远程服务器(目前仅限于 linux 系统)的 cpu、内存、网络、磁盘。
Mycat-eye 运行过程中需要依赖 zookeeper,因此需要先安装 zookeeper。
3.2 安装 zookeeper
zookeeper 的安装包的下载地址在这,提取码为 xs5v,将其拷贝到服务器上,如下图
接下来执行一系列指令,如下:
# 解压
tar -zxvf zookeeper-3.4.6.tar.gz -C /usr/local/
# 创建数据存放目录
cd /usr/local/zookeeper-3.4.6/
mkdir data
# 修改配置文件名称并配置
cd conf
mv zoo_sample.cfg zoo.cfg
# 配置数据存放目录
vim zoo.cfg
dataDir=/usr/local/zookeeper-3.4.6/data
# 启动 Zookeeper
cd /usr/local/zookeeper-3.4.6
bin/zkServer.sh start
# 查看 Zookeeper 启动状态
bin/zkServer.sh status
启动成功的状态如下:
3.3 安装 Mycat-web
Mycat-web 的安装包的下载地址在这,提取码为 jamp,将其拷贝到服务器上,如下图
接下来执行一系列指令,如下:
# 解压
tar -zxvf Mycat-web.tar.gz -C /usr/local/
解压完成后,进入到 mycat-web 目录下,可以发现有五个文件,我们来具体的介绍下:
1、etc:存储配置文件的目录
2、lib:依赖的 jar 包
3、mycat-web:mycat-web 项目
4、start.jar:启动的 jar 包
5、start.sh:linux 的启动脚本
注意:
如果 zookeeper 与 Mycat-web 不在同一台服务器上,需要设置 zookeeper 的地址 。 在 /usr/local/mycat-web/mycat-web/WEB-INF/classes/mycat.properties 文件中配置,如下图:
接下来启动 mycat-web,输入以下的命令:
sh start.sh
访问地址为:http://192.168.229.158:8082/mycat,如下图,如果访问不了界面,记得检查下防火墙是否处于关闭状态。
3.4 配置
在 Mycat 监控界面配置服务地址
3.5 测试
配置好了之后,我们可以通过 MyCat 执行一系列的增删改查的测试,然后过一段时间之后,打开 mycat-eye 的管理界面,查看 mycat-eye 监控到的数据信息。