横空出世的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>
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>
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
再次启动程序成功。
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`) )
插入数据:
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权威指南》电子书还包含了一系列的附加资源,进一步丰富了读者的学习体验。例如,"jb51.net.txt"链接可能提供了更多关于Mycat或其他IT技术的资源,如最新的教程、专业文章或社区讨论,...
介绍了如何利用镜像文件快速启动和体验Mycat的功能。 #### 4.3 服务安装与配置 详细说明了如何在不同操作系统上安装Mycat服务,并对相关配置文件进行初始化和修改。 #### 4.4 服务启动与启动设置 解释了如何启动...
3. 日志分析:对大量日志数据进行实时分析,Mycat可以快速地读取和聚合不同节点的日志数据。 总结来说,Mycat-server是应对大数据时代的有力工具,通过合理的数据分片和路由策略,解决了传统单机数据库在性能和容量...
推荐系统的整体架构是一个复杂的话题,涉及到数据存储、高并发处理、分布式数据库系统等多个方面。...通过Mycat,推荐系统可以更加高效地处理海量数据,实现更加快速和稳定的服务响应,最终为用户提供更好的使用体验。
6. **高可用性**:Mycat支持主备切换,当某个节点出现问题时,可以快速切换到备份节点,保证服务的连续性。 7. **扩展性**:Mycat设计上易于扩展,可以通过增加更多的服务器来扩展处理能力,适应业务的增长。 在...
《Mycat数据库中间件详解及1.7.0安装指南》 ...而通过`mycat-1.7.0.zip`安装包的详细步骤,我们能快速部署并掌握Mycat的基本使用。在后续的运维过程中,持续优化配置,结合业务特点,Mycat将发挥出更大的价值。
《Mycat从入门到精通之Mycat的前世今生、Roadmap等》是一份全面介绍Mycat的教程资源,旨在帮助初学者快速掌握这一分布式数据库中间件的基础知识和高级应用。Mycat作为Java开发的一款开源数据库连接器,是大数据时代...
Mycat入门包括快速镜像方式体验、服务安装与配置、服务启动与启动设置、使用demo等。 4. **日志分析** Mycat支持不同级别的日志记录,包括mycat日志、debug模式下的SQL执行分析和异常日志。 5. **配置介绍** - ...
MyCat通过快速入门向用户展示了如何在10分钟内完成基本的安装和配置,以及如何使用镜像方式体验MyCat。同时,MyCat还提供了一系列日志文件,便于用户进行问题诊断,包括warpper日志、mycat日志、debug模式下分析sql...
通过快速入门,用户可以实现Mycat的10分钟入门体验,并掌握如何使用Mycat处理简单的数据分片。 此外,Mycat还提供了日志分析功能,包括wrapper日志、mycat日志以及在debug模式下对SQL执行的分析等。Mycat的防火墙...
- **10分钟入门**:介绍了如何快速部署和体验Mycat。 - **服务安装与配置**:详细介绍了Mycat服务的安装步骤以及配置细节。 - **基于zk的启动**:说明了如何利用ZooKeeper来启动Mycat。 - **demo使用**:通过示例...
Mycat作为一个开源的数据库中间件,它的设计目标是解决传统单体数据库在扩展性上的局限,使其能适应互联网业务的快速发展。 首先,我们需要理解分布式数据库的概念。分布式数据库是指数据分布在不同地理位置的多个...
- **Mycat Web**:前端管理界面,为用户提供友好的操作体验。 - **Load Balancer**:负载均衡器,用于均衡各个 Mycat Server 的负载压力。 - **Zk=true**:配置项表明是否启用 Zookeeper,这里设置为 true 表示开启...
《Mycat:开放电商平台解决方案》 在当前的数字化时代,电商平台已经成为企业不可或缺的一部分,而Mycat作为一款开源的数据库...通过参与Mycat社区,企业可以享受到开源技术的力量,推动自身在电商领域的快速发展。
- **读节点**:使用MyISAM引擎,利用其快速读取的优势,提升整体系统的响应速度。 ##### 4.2 MySQL主从配置 为了实现读写分离,需要配置MySQL的主从复制功能。具体步骤如下: 1. **主数据库服务器配置**: - ...
- **事务监控任务及异常事务展现**:用于监控事务的执行状态,并对异常情况进行展示,便于开发者或运维人员快速定位问题。 - **校对任务**:定期检查数据的一致性,发现并纠正由于事务处理不当造成的潜在数据不一致...
在电商场景中,Solr常用于商品搜索,提供快速的关键词匹配和高亮显示,同时支持多种排序和过滤策略,提高用户搜索体验。项目中可能包含solr-core、solr-schemas和solr-config等配置文件,用于定义索引字段、分析器和...