mycat快速体验(转)
横空出世的MyCat截至到2015年4月,保守估计已经有超过60个项目在使用,主要应用在电信领域、互联网项目,大部分是交易和管理系统,少量是信息系统。比较大的系统中,数据规模单表单月30亿。本人也初步尝鲜,体验了一把,见以下描述,供大家参考。
MyCAT 是使用 JAVA 语言进行编写开发,使用前需要先安装 JAVA 运行环境(JRE),由于 MyCAT 中使用
了 JDK7 中的一些特性,所以要求必须在 JDK7 以上的版本上运行。
https://github.com/MyCATApache/
注:MyCAT 相关源码、文档都可以在此地址下进行下载。
windows下可以下载Mycat-server-1.4-RELEASE-yyyymmddxxxx-win.tar
今天体验的是在windows 10系统下。
体验的版本:Mycat-server-1.4-release-20151019230038-win
解压后的文件目录:
|-mycat
|----bin //启动mycat
|----catlet
|----conf //配置文件
|----lib //jar存放目录
|----logs //日志文件
体验步骤
1、首先在本地的mysql建两个空数据库 mycat1,mycat2。
2、修改conf目录下面的 schema.xml配置文件。
- <?xml version="1.0"?>
- <!DOCTYPE mycat:schema SYSTEM "schema.dtd">
- <mycat:schema xmlns:mycat="http://org.opencloudb/">
- <schema name="TESTDB" checkSQLschema="false" sqlMaxLimit="100">
- <table name="employee" primaryKey="ID" dataNode="dn1,dn2"
- rule="sharding-by-intfile" />
- </schema>
- <dataNode name="dn1" dataHost="localhost" database="mycat1" />
- <dataNode name="dn2" dataHost="localhost" database="mycat2" />
- <dataHost name="localhost" maxCon="1000" minCon="10" balance="0"
- writeType="0" dbType="mysql" dbDriver="native" switchType="1" slaveThreshold="100">
- <heartbeat>select user()</heartbeat>
- <writeHost host="hostM1" url="localhost:3306" user="root"
- password="11aa..123">
- <!-- can have multi read hosts -->
- </writeHost>
- </dataHost>
- </mycat:schema>
<?xml version="1.0"?>
<!DOCTYPE mycat:schema SYSTEM "schema.dtd">
<mycat:schema xmlns:mycat="http://org.opencloudb/"><schema name="TESTDB" checkSQLschema="false" sqlMaxLimit="100"> <table name="employee" primaryKey="ID" dataNode="dn1,dn2"
rule="sharding-by-intfile" />
</schema>
<dataNode name="dn1" dataHost="localhost" database="mycat1" />
<dataNode name="dn2" dataHost="localhost" database="mycat2" />
<dataHost name="localhost" maxCon="1000" minCon="10" balance="0"
writeType="0" dbType="mysql" dbDriver="native" switchType="1" slaveThreshold="100">
<heartbeat>select user()</heartbeat>
<writeHost host="hostM1" url="localhost:3306" user="root"
password="11aa..123">
<!-- can have multi read hosts -->
</writeHost>
</dataHost>
</mycat:schema>
3、修改conf目录下面的 server.xml配置文件:
- <?xml version="1.0" encoding="UTF-8"?>
- <!DOCTYPE mycat:server SYSTEM "server.dtd">
- <mycat:server xmlns:mycat="http://org.opencloudb/">
- <system>
- <property name="defaultSqlParser">druidparser</property>
- </system>
- <user name="test">
- <property name="password">test</property>
- <property name="schemas">TESTDB</property>
- </user>
- </mycat:server>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mycat:server SYSTEM "server.dtd">
<mycat:server xmlns:mycat="http://org.opencloudb/">
<system>
<property name="defaultSqlParser">druidparser</property>
</system>
<user name="test">
<property name="password">test</property>
<property name="schemas">TESTDB</property>
</user> </mycat:server>
server.xml配置文件用来配置mycat对方的数据库连接用户名密码,启动成功后可以用navicat连接。
3、进入bin目录。
看命名的意思startup_nowrap.bat是不注册开机自动启动服务的,准备选择startup_nowrap.bat来启动mycat。但是双击startup_nowrap.bat 之后,运行界面一闪而过。logs中也没有相关的错误信息,改为从dos环境启动。
输错错误信息:
讲bat文件中的启动配置修改为:
- "%JAVA_CMD%" -server -Xms128M -Xmx256M -XX:MaxPermSize=64M -XX:+AggressiveOpts -XX:MaxDirectMemorySize=128M -DMYCAT_HOME=%MYCAT_HOME% -cp "..\conf;..\lib\*" org.opencloudb.MycatStartup
"%JAVA_CMD%" -server -Xms128M -Xmx256M -XX:MaxPermSize=64M -XX:+AggressiveOpts -XX:MaxDirectMemorySize=128M -DMYCAT_HOME=%MYCAT_HOME% -cp "..\conf;..\lib\*" org.opencloudb.MycatStartup
再次启动程序成功。
- 11/17 17:16:45.689 INFO [main] (MycatServer.java:195) -===============================================
- 11/17 17:16:45.689 INFO [main] (MycatServer.java:196) -MyCat is ready to startup ...
- 11/17 17:16:45.689 INFO [main] (MycatServer.java:206) -Startup processors ...,total processors:8,aio thread pool size:16
- each process allocated socket buffer pool bytes ,buffer chunk size:4096 buffer pool's capacity(buferPool/bufferChunk) is:8000
- 11/17 17:16:45.689 INFO [main] (MycatServer.java:207) -sysconfig params:SystemConfig [processorBufferLocalPercent=100, frontSocketSoRcvbuf=1048576, frontSocketSoSndbuf=4194304, backSocketSoRcvbuf=4194304, backSocketSoSndbuf=1048576, frontSocketNoDelay=1, backSocketNoDelay=1, maxStringLiteralLength=65535, frontWriteQueueSize=2048, bindIp=0.0.0.0, serverPort=8066, managerPort=9066, charset=utf8, processors=8, processorExecutor=16, timerExecutor=2, managerExecutor=2, idleTimeout=1800000, catletClassCheckSeconds=60, sqlExecuteTimeout=300, processorCheckPeriod=1000, dataNodeIdleCheckPeriod=300000, dataNodeHeartbeatPeriod=10000, clusterHeartbeatUser=_HEARTBEAT_USER_, clusterHeartbeatPass=_HEARTBEAT_PASS_, clusterHeartbeatPeriod=5000, clusterHeartbeatTimeout=10000, clusterHeartbeatRetry=10, txIsolation=3, parserCommentVersion=50148, sqlRecordCount=10, processorBufferPool=32768000, processorBufferChunk=4096, defaultMaxLimit=100, sequnceHandlerType=0, sqlInterceptor=org.opencloudb.interceptor.impl.DefaultSqlInterceptor, sqlInterceptorType=select, sqlInterceptorFile=D:\mycat_study\Mycat-server-1.4-release-20151019230038-win\mycat\bin/logs/sql.txt, mutiNodeLimitType=0, mutiNodePatchSize=100, defaultSqlParser=druidparser, usingAIO=0, packetHeaderSize=4, maxPacketSize=16777216, mycatNodeId=1]
- 11/17 17:16:45.720 INFO [main] (MycatServer.java:266) -using nio network handler
- 11/17 17:16:45.751 INFO [main] (MycatServer.java:284) -$_MyCatManager is started and listening on 9066
- 11/17 17:16:45.751 INFO [main] (MycatServer.java:288) -$_MyCatServer is started and listening on 8066
11/17 17:16:45.689 INFO [main] (MycatServer.java:195) -===============================================
11/17 17:16:45.689 INFO [main] (MycatServer.java:196) -MyCat is ready to startup ...
11/17 17:16:45.689 INFO [main] (MycatServer.java:206) -Startup processors ...,total processors:8,aio thread pool size:16
each process allocated socket buffer pool bytes ,buffer chunk size:4096 buffer pool's capacity(buferPool/bufferChunk) is:8000
11/17 17:16:45.689 INFO [main] (MycatServer.java:207) -sysconfig params:SystemConfig [processorBufferLocalPercent=100, frontSocketSoRcvbuf=1048576, frontSocketSoSndbuf=4194304, backSocketSoRcvbuf=4194304, backSocketSoSndbuf=1048576, frontSocketNoDelay=1, backSocketNoDelay=1, maxStringLiteralLength=65535, frontWriteQueueSize=2048, bindIp=0.0.0.0, serverPort=8066, managerPort=9066, charset=utf8, processors=8, processorExecutor=16, timerExecutor=2, managerExecutor=2, idleTimeout=1800000, catletClassCheckSeconds=60, sqlExecuteTimeout=300, processorCheckPeriod=1000, dataNodeIdleCheckPeriod=300000, dataNodeHeartbeatPeriod=10000, clusterHeartbeatUser=_HEARTBEAT_USER_, clusterHeartbeatPass=_HEARTBEAT_PASS_, clusterHeartbeatPeriod=5000, clusterHeartbeatTimeout=10000, clusterHeartbeatRetry=10, txIsolation=3, parserCommentVersion=50148, sqlRecordCount=10, processorBufferPool=32768000, processorBufferChunk=4096, defaultMaxLimit=100, sequnceHandlerType=0, sqlInterceptor=org.opencloudb.interceptor.impl.DefaultSqlInterceptor, sqlInterceptorType=select, sqlInterceptorFile=D:\mycat_study\Mycat-server-1.4-release-20151019230038-win\mycat\bin/logs/sql.txt, mutiNodeLimitType=0, mutiNodePatchSize=100, defaultSqlParser=druidparser, usingAIO=0, packetHeaderSize=4, maxPacketSize=16777216, mycatNodeId=1]
11/17 17:16:45.720 INFO [main] (MycatServer.java:266) -using nio network handler
11/17 17:16:45.751 INFO [main] (MycatServer.java:284) -$_MyCatManager is started and listening on 9066
11/17 17:16:45.751 INFO [main] (MycatServer.java:288) -$_MyCatServer is started and listening on 8066
可以看到mycat监听的端口号,使用navicat连接mycat数据库。
连接成功可以看到schema.xml配置的逻辑库。
创建表
- CREATE TABLE `employee` (
- `ID` int(11) NOT NULL,
- `NAME` varchar(100) default NULL,
- `SHARDING_ID` int(11) NOT NULL,
- PRIMARY KEY (`ID`)
- )
CREATE TABLE `employee` (
`ID` int(11) NOT NULL,
`NAME` varchar(100) default NULL,
`SHARDING_ID` int(11) NOT NULL,
PRIMARY KEY (`ID`)
)
插入数据:
- INSERT INTO `employee` VALUES ('1', 'leader us', '10000');
- INSERT INTO `employee` VALUES ('2', 'mycat', '10000');
- INSERT INTO `employee` VALUES ('3', 'mydog', '10000');
- INSERT INTO `employee` VALUES ('4', 'mypig', '10000');
INSERT INTO `employee` VALUES ('1', 'leader us', '10000');
INSERT INTO `employee` VALUES ('2', 'mycat', '10000');
INSERT INTO `employee` VALUES ('3', 'mydog', '10000');
INSERT INTO `employee` VALUES ('4', 'mypig', '10000');
使用navicat可以看到插入的四条记录。
分别打开mycat1 ,mycat2数据库
employee表中分别有1,3;2,4;两条记录 表明mycat分片表成功
mycat快速体验(转)的更多相关文章
- gitbook 入门教程之快速体验
本文主要介绍三种使用 gitbook 的方式,分别是 gitbook 命令行工具,Gitbook Editor 官方编辑器和 gitbook.com 官网. 总体来说,三种途径适合各自不同的人群,找到 ...
- 快速体验 Laravel 自带的注册、登录功能
快速体验 Laravel 自带的注册.登录功能 注册.登录经常是一件很伤脑筋的是,Laravel 提供了解决方案,可以直接使用它.试过之后,感觉真爽! 前提:本地已安装好了 PHP 运行环境.mysq ...
- 分布式_事务_01_2PC框架raincat快速体验1
一.前言 关于2PC的理论知识请见:分布式_理论_03_2PC 这一节我们来看下github上一个优秀的2PC分布式事务开源框架的快速体验. 二.源码 源码请见: https://github.com ...
- 分布式事务_01_2PC框架raincat快速体验
一.前言 关于2PC的理论知识请见:分布式_理论_03_2PC 这一节我们来看下github上一个优秀的2PC分布式事务开源框架的快速体验. 二.源码 源码请见: https://github.com ...
- Dev 日志 | 文章《快速体验知识图谱 OwnThink》中的技术问题
社区小伙伴反馈在实践文章<使用图数据库 Nebula Graph 数据导入快速体验知识图谱 OwnThink>时,遇到了一些问题,Nebula Graph 将在本文对该文章中出现的问题进行 ...
- Django之Django快速体验
Django快速体验 前语: 这一节内容是直接快速上手,后面的内容是对内容进行按步解释,如果不想看解析的,可以直接只看这一节的内容. 1.新建项目应用新建项目test1新建应用booktest 2.注 ...
- CDH5.13快速体验
相对于易用性很差Apache Hadoop,其他商业版Hadoop的性能易用性都有更好的表现,如Cloudera.Hortonworks.MapR以及国产的星环,下面使用CDH(Cloudera Di ...
- 【Java】15分钟快速体验阿里Java诊断工具Arthas
[墙裂推荐]15分钟快速体验阿里Java诊断工具Arthas : https://alibaba.github.io/arthas/arthas-tutorials?language=cn&i ...
- sh_02_快速体验
sh_02_快速体验 import sh_01_九九乘法表 sh_01_九九乘法表.multiple_table()
随机推荐
- idea和Pycharm 等系列产品激活激活方法和激活码
引用自大神:雪中皓月原文链接 --------------------- 以下两种方法均可用于激活Idea,Pycharm等jetbrains系列产品第一种方法:使用现有的注册服务器优点:快捷,方便, ...
- 实现人脸识别性别之路---try语句的使用
Try语句 用法:处理异常信息 存在的形式:try-except X-except T...-except-else-finally(其中X T为错误的类型) 表达意思:try语句是执行正常语句,如果 ...
- codeforces1114D. Flood Fill(区间Dp)
传送门: 解题思路: 区间Dp,发现某一个区间修改后区间颜色一定为左边或右边的颜色. 那么只需要设方程$f_(l,r,0/1)$表示区间$[l,r]$染成左/右颜色的最小代价 转移就是枚举左右颜色就好 ...
- R学习:《机器学习与数据科学基于R的统计学习方法》中文PDF+代码
当前,机器学习和数据科学都是很重要和热门的相关学科,需要深入地研究学习才能精通. <机器学习与数据科学基于R的统计学习方法>试图指导读者掌握如何完成涉及机器学习的数据科学项目.为数据科学家 ...
- 紫书 例题 9-14 UVa 1218 (树形dp)
这道题有个初始值设成1e9, 然后这个值是要加很多次的,然后就会溢出变成负数, 然后就一直WA, 找这个bug找了一个小时--以后不能随便这样设那么大, 要考虑会不会加很多次然后溢出. 讲一下思路. ...
- SpringBoot 结合 Thymeleaf 进行页面的跳转
1.引入thymeleaf依赖 <!--thymeleaf--> <dependency> <groupId>org.springframework.boot< ...
- GPU和CPU的区别
http://blog.csdn.net/conowen/article/details/7256260 这里有几种计算平台的Flynn分类法 GPU是SIMD 多核CPU是MIMD 硬件结果多核处理 ...
- Node.js转化GBK编码 - iconv-lite
node当使用node获取GBK编码的数据时,nodejs仅仅支持utf-8,node没有提供转换编码的原生支持,有倒是有一个模块iconv能干这个事,但须要本地方法,VC++库的支持.国外有个大牛写 ...
- Toeplitz matrix 与 Circulant matrix
之所以专门定义两个新的概念,在于它们特殊的形式,带来的特别的形式. 1. Toeplitz matrix 对角为常数: n×n 的矩阵 A 是 Toepliz 矩阵当且仅当,对于 Ai,j 有: Ai ...
- js全局的解析与执行过程
先看下面实例的执行结果: alert(a);//undefined alert(b);//报错 alert(f);//输出f函数字符串 alert(g);//undefined var a = 1; ...