前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >快速学习-Mycat快速入门

快速学习-Mycat快速入门

作者头像
cwl_java
发布2021-08-30 11:31:58
7270
发布2021-08-30 11:31:58
举报
文章被收录于专栏:cwl_Javacwl_Java

第 4 章 快速入门

4.1 10 分钟入门

MyCAT 是使用 JAVA 语言进行编写开发,使用前需要先安装 JAVA 运行环境(JRE),由于 MyCAT 中使用了JDK7 中的一些特性,所以要求必须在 JDK7 以上的版本上运行。

4.1.1 环境准备

  1. JDK 下 载 http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html 注:必须 JDK7 或更高版本.
  2. MySQL 下载 http://dev.mysql.com/downloads/mysql/5.5.html#downloads 注:MyCAT 支持多种数据库接入,如:MySQL、SQLServer、Oracle、MongoDB 等,推荐使用 MySQL 做集群。
  3. MyCAT 项目主页 https://github.com/MyCATApache/ 注:MyCAT 相关源码、文档都可以在此地址下进行下载。

4.1.2 环境安装与配置

如果是第一次刚接触 MyCAT,建议先下载 MyCAT-Server 源码到本地,通过 Eclipse 等工具进行配置和运行, 便于深入了解和调试程序运行逻辑。

  1. MyCAT-Server 源码下载 由于 MyCAT 源码目前主要托管在 github 上,需要先在本地安装和配置好相关环境,具体参考群共享中 “github-eclipse 开发指南.docx”,这说明有很详细的配置说明,按照文档中的步骤把 MyCAT-Server 源码下 载到本地即可。 MyCAT-Server 仓库地址:https://github.com/MyCATApache/Mycat-Server.git
  2. 源码调试与配置 MyCAT 目前主要通过配置文件的方式来定义逻辑库和相关配置: • MYCAT_HOME/conf/schema.xml 中定义逻辑库,表、分片节点等内容; • MYCAT_HOME/conf/rule.xml 中定义分片规则; • MYCAT_HOME/conf/server.xml 中定义用户以及系统相关变量,如端口等。 注:以上几个文件的具体配置请参考前面章节中的具体说明.
  3. 源码运行 MyCAT 入口程序是 io.mycat.MycatStartup.java,右键 run as 出现下面的界面,需要设置 MYCAT_HOME 目录,为你工程当前所在目录(src/main):
在这里插入图片描述
在这里插入图片描述

设置完 MYCAT 主目录后即可正常运行 MyCAT 服务。

注:若启动报错,DirectBuffer 内存不够,则可以再加 JVM 系统参数:

代码语言:javascript
复制
XX:MaxDirectMemorySize=128M

4.2 快速镜像方式体验 MyCAT

此方式通过将已经安装和配置好的 MySQL+MyCAT 做成镜像,可实现快速运行和体验 MyCAT 服务。镜像文件及快速运行体验文档下载地址: 暂无

4.3 服务安装与配置

4.3.1 linux

MyCAT 有提供编译好的安装包,支持 windows、Linux、Mac、Solaris 等系统上安装与运行。 linux 下可以下载 Mycat-server-xxxxx.linux.tar.gz 解压在某个目录下,注意目录不能有空格,在Linux(Unix)下,建议放在 usr/local/Mycat 目录下,如下:

在这里插入图片描述
在这里插入图片描述

下面是修改 MyCAT 用户密码的方式(仅供参考):

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

目录解释如下:

  • bin 程序目录,存放了 window 版本和 linux 版本,除了提供封装成服务的版本之外,也提供了 nowrap 的
  • shell 脚本命令,方便大家选择和修改,进入到 bin 目录:**Linux 下运行:./mycat console,首先要 chmod +x *** 注:mycat 支持的命令{ console | start | stop | restart | status | dump }
  • conf 目录下存放配置文件,server.xml 是 Mycat 服务器参数调整和用户授权的配置文件,schema.xml 是逻辑库定义和表以及分片定义的配置文件,rule.xml 是分片规则的配置文件,分片规则的具体一些参数信息单独存放为文件,也在这个目录下,配置文件修改,需要重启 Mycat 或者通过 9066 端口 reload.
  • lib 目录下主要存放 mycat 依赖的一些 jar 文件.

日志存放在 logs/mycat.log 中,每天一个文件,日志的配置是在 conf/log4j.xml 中,根据自己的需要,可以调整输出级别为 debug,debug 级别下,会输出更多的信息,方便排查问题.

注意:Linux 下部署安装 MySQL,默认不忽略表名大小写,需要手动到/etc/my.cnf 下配置 lower_case_table_names=1 使 Linux 环境下 MySQL 忽略表名大小写,否则使用 MyCAT 的时候会提示找不到表的错误!

4.3.2 windows

MyCAT 有提供编译好的安装包,支持 windows、Linux、Mac、Solaris 等系统上安装与运行。

windows 下可以下载 Mycat-server-xxxxx-win.tar.gz 解压在某个目录下,建议解压到本地某个盘符根目录下,如下:

在这里插入图片描述
在这里插入图片描述

目录解释如下:

  • bin 程序目录,存放了 window 版本和 linux 版本,除了提供封装成服务的版本之外,也提供了 nowrap 的shell 脚本命令,方便大家选择和修改,进入到 bin 目录:Windows 下运行:运行: mycat.bat 在控制台启动程序,也可以装载成服务,若此程序运行有问题,也可以运行 startup_nowrap.bat,确保 java 命令可以在命令执行。
  • Windows 下将 MyCAT 做成系统服务:MyCAT 提供 warp 方式的命令,可以将 MyCAT 安装成系统服务并可启动和停止。
  1. 进入 bin 目录下, 输入 ./mycat start 启动 mycat 服务。
  • conf 目录下存放配置文件,server.xml 是 Mycat 服务器参数调整和用户授权的配置文件,schema.xml 是逻辑库定义和表以及分片定义的配置文件,rule.xml 是分片规则的配置文件,分片规则的具体一些参数信息单独存放为文件,也在这个目录下,配置文件修改,需要重启 Mycat 或者通过 9066 端口 reload。
  • lib 目录下主要存放 mycat 依赖的一些 jar 文件。

日志存放在 logs/mycat.log 中,每天一个文件,日志的配置是在 conf/log4j.xml 中,根据自己的需要,可以调整输出级别为 debug,debug 级别下,会输出更多的信息,方便排查问题。

4.4 服务启动与启动设置

4.4.1 linux

MyCAT 在 Linux 中部署启动时,首先需要在 Linux 系统的环境变量中配置 MYCAT_HOME,操作方式如下:

  1. vi /etc/profile,在系统环境变量文件中增加 MYCAT_HOME=/usr/local/Mycat。
  2. 执行 source /etc/profile 命令,使环境变量生效。如果是在多台 Linux 系统中组建的 MyCAT 集群,那需要在 MyCAT Server 所在的服务器上配置对其他 ip 和主机名的映射,配置方式如下:
代码语言:javascript
复制
vi /etc/hosts

例如:我有 4 台机器,配置如下: IP 主机名:

代码语言:javascript
复制
192.168.100.2 sam_server_1
192.168.100.3 sam_server_2
192.168.100.4 sam_server_3
192.168.100.5 sam_server_4

编辑完后,保存文件。 经过以上两个步骤的配置,就可以到/usr/local/Mycat/bin 目录下执行:

代码语言:javascript
复制
./mycat start

即可启动 mycat 服务!

4.4.2 windows

MyCAT 在 windows 中部署时,建议放在某个盘符的根目录下,如果不是在根目录下,请尽量不要放在包含中文的目录下 如:D:\Mycat-server-1.4-win 命令行方式启动:从 cmd 中执行命令到达 D:\Mycat-server-1.4-win\bin 目录下,执行 startup_nowrap.bat 即可启动MyCAT 服务。

注:执行此命令时,需要确保 windows 系统中已经配置好了 JAVA 的环境变量,并可执行 java 命令。jdk 版本必须是 1.7 及以上版本。 服务方式启动: 未封装

4.5 基于 zk 的启动

1.5 开始会支持本地 xml 启动,以及从 zk 加载配置转为本地 xml 的两种方式,conf 下的 zk.conf 文件里设 置 loadfromzk 参数默认为 false 如果没有这个文件,或者没有 loadfromzk 为 true 的参数,即从本地加载。下面介绍从 ZK 启动相关配置。 Zk-create.yaml 说明 1.5 正式引入 zookeeper(以下简称 zk)管理 Mycat-Server,启动 server 第一步是初始化 zk 数据,下面介绍初 始化 zk 数据步骤,信息在 zk-create.yaml。Mycat ZK 配置文件详解:

代码语言:javascript
复制
https://github.com/MyCATApache/Mycatdoc/blob/master/%E8%AE%BE%E8%AE%A1%E6%96%87%E6%A1%A3/2.0/Mycat%20ZK%E9%85%
8D%E7%BD%AE%E6%96%87%E4%BB%B6%E8%AF%A6%E8%A7%A3.docx

1、zk-create 总体结构

在这里插入图片描述
在这里插入图片描述

2、参数说明 2.1、zkURL,zk 连接地址 2.2、mycat-cluster

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.3、mycat-hosts

在这里插入图片描述
在这里插入图片描述

2.4、mycat-zones

在这里插入图片描述
在这里插入图片描述

2.5、mycat-nodes

在这里插入图片描述
在这里插入图片描述

2.6、mycat-mysqls

在这里插入图片描述
在这里插入图片描述

2.7、mysql-reps

在这里插入图片描述
在这里插入图片描述

Zk 初始化 1、进入 MYCAT/bin 目录

代码语言:javascript
复制
cd /data/test1/mycat/bin
在这里插入图片描述
在这里插入图片描述

2、修改 MYCAT/conf/zk-create.yaml 内容 修改方法见“Zk-create.yaml 说明”。 3、启动 ZK 启动 ZK: bin/zkServer.sh start

在这里插入图片描述
在这里插入图片描述

登陆 ZK: bin/zkCli.sh

在这里插入图片描述
在这里插入图片描述

4、初始化 ZK 数据

代码语言:javascript
复制
sh create_zookeeper_data.sh

等待执行结束后,检查 ZK 数据 5、检查 ZK 数据

在这里插入图片描述
在这里插入图片描述

OK,数据初始化成功。

4.6 demo 使用

springMVC+ibatis+FreeMarker 连接 mycat 示例:

代码语言:javascript
复制
http://pan.baidu.com/s/1qWr4AF6
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2021-02-07 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 第 4 章 快速入门
    • 4.1 10 分钟入门
      • 4.1.1 环境准备
      • 4.1.2 环境安装与配置
    • 4.2 快速镜像方式体验 MyCAT
      • 4.3 服务安装与配置
        • 4.3.1 linux
        • 4.3.2 windows
      • 4.4 服务启动与启动设置
        • 4.4.1 linux
        • 4.4.2 windows
      • 4.5 基于 zk 的启动
        • 4.6 demo 使用
        相关产品与服务
        云数据库 SQL Server
        腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档