mycat中间件(四)mycat目录结构文件及作用

时间:2022-05-18 05:18:40

导言

我们在前面两篇文章中,描述了如何搭建linux或windows环境下的mycat1.6版本,但是这仅仅是安装,我们还需要知道,下载的mycat的目录结构是怎样的,各有什么文件,有着怎样的作用。


目录结构

/usr/local/mycat/
├── bin
│ ├── dataMigrate.sh
│ ├── init_zk_data.sh
│ ├── mycat
│ ├── rehash.sh
│ ├── startup_nowrap.sh
│ ├── wrapper-linux-ppc-64
│ ├── wrapper-linux-x86-32
│ └── wrapper-linux-x86-64
├── catlet
├── conf
│ ├── autopartition-long.txt
│ ├── auto-sharding-long.txt
│ ├── auto-sharding-rang-mod.txt
│ ├── cacheservice.properties
│ ├── dnindex.properties
│ ├── ehcache.xml
│ ├── index_to_charset.properties
│ ├── log4j2.xml
│ ├── migrateTables.properties
│ ├── myid.properties
│ ├── partition-hash-int.txt
│ ├── partition-range-mod.txt
│ ├── rule.xml
│ ├── schema.xml
│ ├── sequence_conf.properties
│ ├── sequence_db_conf.properties
│ ├── sequence_distributed_conf.properties
│ ├── sequence_time_conf.properties
│ ├── server.xml
│ ├── sharding-by-enum.txt
│ ├── wrapper.conf
│ ├── zkconf
│ │ ├── autopartition-long.txt
│ │ ├── auto-sharding-long.txt
│ │ ├── auto-sharding-rang-mod.txt
│ │ ├── cacheservice.properties
│ │ ├── ehcache.xml
│ │ ├── index_to_charset.properties
│ │ ├── partition-hash-int.txt
│ │ ├── partition-range-mod.txt
│ │ ├── rule.xml
│ │ ├── schema.xml
│ │ ├── sequence_conf.properties
│ │ ├── sequence_db_conf.properties
│ │ ├── sequence_distributed_conf-mycat_fz_01.properties
│ │ ├── sequence_distributed_conf.properties
│ │ ├── sequence_time_conf-mycat_fz_01.properties
│ │ ├── sequence_time_conf.properties
│ │ ├── server-mycat_fz_01.xml
│ │ ├── server.xml
│ │ └── sharding-by-enum.txt
│ └── zkdownload
│ └── auto-sharding-long.txt
├── lib
│ ├── asm-4.0.jar
│ ├── commons-collections-3.2.1.jar
│ ├── commons-lang-2.6.jar
│ ├── curator-client-2.11.0.jar
│ ├── curator-framework-2.11.0.jar
│ ├── curator-recipes-2.11.0.jar
│ ├── disruptor-3.3.4.jar
│ ├── dom4j-1.6.1.jar
│ ├── druid-1.0.26.jar
│ ├── ehcache-core-2.6.11.jar
│ ├── fastjson-1.2.12.jar
│ ├── guava-19.0.jar
│ ├── hamcrest-core-1.3.jar
│ ├── hamcrest-library-1.3.jar
│ ├── jline-0.9.94.jar
│ ├── joda-time-2.9.3.jar
│ ├── jsr305-2.0.3.jar
│ ├── kryo-2.10.jar
│ ├── leveldb-0.7.jar
│ ├── leveldb-api-0.7.jar
│ ├── libwrapper-linux-ppc-64.so
│ ├── libwrapper-linux-x86-32.so
│ ├── libwrapper-linux-x86-64.so
│ ├── log4j-1.2.17.jar
│ ├── log4j-1.2-api-2.5.jar
│ ├── log4j-api-2.5.jar
│ ├── log4j-core-2.5.jar
│ ├── log4j-slf4j-impl-2.5.jar
│ ├── mapdb-1.0.7.jar
│ ├── minlog-1.2.jar
│ ├── mongo-java-driver-2.11.4.jar
│ ├── Mycat-server-1.6-RELEASE.jar
│ ├── mysql-binlog-connector-java-0.4.1.jar
│ ├── netty-3.7.0.Final.jar
│ ├── objenesis-1.2.jar
│ ├── reflectasm-1.03.jar
│ ├── sequoiadb-driver-1.12.jar
│ ├── slf4j-api-1.6.1.jar
│ ├── univocity-parsers-2.2.1.jar
│ ├── velocity-1.7.jar
│ ├── wrapper.jar
│ └── zookeeper-3.4.6.jar
├── logs
│ ├── 2016-11
│ │ └── mycat-11-16-1.log.gz
│ ├── mycat.log
│ ├── mycat.pid
│ └── wrapper.log
└── version.txt


bin目录

启动目录

为了简约概述目录内容,所以我挑选出比较重要的文件进行描述内容

  • mycat文件

mycat文件是启动文件。无论在linux还是windows下,都是重要的文件之一。官网在说明如果启动不成功,才会让人去使用,startup_nowrap.sh(startup_nowrap.bat)文件。我建议还是以mycat文件启动,因为启动的jvm参数可以通过配置文件修改。

        在linux下的命令

./mycatconsole|start|stop|restart|status|dump

        在windows下的命令

mycat.batconsole|start|pause|resume|stop|restart|install|remove|status

mycat命令概述

命令参数 内容 适用环境
start 启动服务 linux|windows
stop 停止服务 linux|windows
console 前台运行服务 linux|windows
restart 重启服务 linux|windows
status 查看启动状态 linux|windows
dump 服务挂起 linux
resume 服务挂起 windows
install 添加到系统自动启动 windows
remove 取消随系统自动启动 windows

conf目录

为了使得一目了然,故而选择表格形式进行分析。具体的文件的分析配置,会留出具体的博客进行描述。

文件 作用
schema.xml 定义并管理MyCat的逻辑库、表、分片规则、DataNode 以及DataSource
server.xml 几乎保存了所有mycat 需要的系统配置信息。用于服务器参数调整用户授权的配置文件。
rule.xml 用来定义拆分表格的分片规则
wrapper.conf jvm启动参数的配置(当用于性能监控的时候以及优化的时候,会增加jvm启动参数)
dnindex.properties 通常用于主从切换记录。记录当前所用的writeHost 的index(第一个为0,第二个为1,依次类推)。注意,此文件不能删除和擅自改变。
cacheservice.properties 本地缓存相关配置
sequence_conf.properties 全局序列号中,使用本地文件方式的配置
sequence_db_conf.properties 全局序列号中,使用数据库方式的配置
sequence_time_confproperties 全局序列号中,使用时间戳方式的配置
log4j.xml 日志配置(一般修改日志的输出级别)
autopartition-long.txt等 分片规则的具体一些参数文件

log目录

log包中存放的是关于mycat启动时候的日志。若启动不成功,或者执行某条sql语句报错,可以通过日志进行排错。

文件 作用
wrapper.log mycat启动的jvm启动日志
mycat.log mycat运行时日志

version.txt文件

记录mycat的版本等相关信息

我们打开1.6版本的该文件内容

BuildTime 2016-10-28 12:47:06
GitVersion 460930bb32b0007597796369bc92daa8428d8787
MavenVersion 1.6-RELEASE
GitUrl https://github.com/MyCATApache/Mycat-Server.git
MyCatSite http://www.mycat.org.cn
QQGroup 106088787

总结

本文主要目的是让看博客的人,了解相关目录文件的查找。比如要修改分片规则,应该修改哪一个文件,在何处目录下。希望看的人能多多了解。

后面的文章会告诉各位如何配置。