Mycat1.5学习日记---在eclipse启动mycat

一、mycat 环境的搭建

下面介绍如何在本地运行mycat项目:

github下载mycat的源码 https://github.com/MyCATApache/Mycat-Server,因为我们要目前使用的是mycat1.5版本,所以我们选择1.5版本的下载,当然我们也可以直接使用git下载代码,在这里就不做介绍。

1、下载源码

 

点击Download ZIP


2、解压文件,然后打开eclipse 导入maven项目。如果没有安装maven,请自行谷歌eclipse如何配置maven。在此不做介绍。


3、等待maven下载相关的依赖。另外需要说的是,mycat需要jdk1.7以上的版本。


 

4、依赖下载完后,可以对项目进行打包了。


如果打包出现失败,则查看相关日志,如果是某些依赖找不到,则需要将该包从maven仓库中删除,然后让项目重新下载,导致这样的结果有可能是Mycat项目在下载依赖包的时候,下载不完整导致依赖包不可用。顺利打包后,我们再继续配置mycat启动的相关文件。

一、配置Mycat

resource目录下需要配置 schema.xmlrule.xmlserver.xml 这三个文件。

(相关配置参考http://blog.csdn.net/d6619309/article/details/52746430)

1、mycat 支持多种数据库,在这里我们使用的是Mysql,首先需要创建三个分库(当然,你可以创建更多)

create database db1 default charset 'utf8';

create database db2 default charset 'utf8';

create database db3 default charset 'utf8';


2、db1db2db3中都创建一样的表

create table hotnews (

    id int primary key,

    title varchar(100),

    author_id int,

    create_tm datetime,

    content text

) engine = innodb default character set = 'utf8';

 

3、配置server.xml

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE mycat:server SYSTEM "F:\workPlace\Mycat-Server-1.5\src\main\resources\backups\server.dtd">

<mycat:server xmlns:mycat="http://org.opencloudb/">

<system>

<!-- 1为开启实时统计、0为关闭-->

<property name="useSqlStat">1</property>  

<!-- 1为开启全加班一致性检测、0为关闭 -->

<property name="useGlobleTableCheck">0</property>  

<property name="defaultSqlParser">druidparser</property>

<property name="sequnceHandlerType">0</property>

<!--默认为type 0: DirectByteBufferPool | type 1 ByteBufferArena-->

<property name="processorBufferPoolType">0</property>

<property name="handleDistributedTransactions">0</property>

<property name="useOffHeapForMerge">1</property>

<property name="memoryPageSize">1m</property>

<property name="spillsFileBufferSize">1k</property>

<property name="useStreamOutput">0</property>

<property name="systemReserveMemorySize">384m</property>

</system>

 

 

<user name="root">

<!-- password  连接 mycat数据库的密码 -->

<property name="password">mysql</property>

<!-- schemas 数据库名 -->

<property name="schemas">TESTDB</property>

</user>

 

</mycat:server>

4、配置schema.xml

<?xml version="1.0"?> 

<!DOCTYPE mycat:schema SYSTEM "schema.dtd"> 

<mycat:schema xmlns:mycat="http://io.mycat/"> 

<!--name 上面 server.xml 配置的 schemas name, dataNode 配置几个节点的名称 -->

<schema name="TESTDB" checkSQLschema="false" sqlMaxLimit="100"> 

<table name="hotnews" primaryKey="ID" autoIncrement="true" dataNode="dn1,dn2,dn3" rule="mod-long" /> 

</schema>

<dataNode name="dn1" dataHost="localhost" database="db1" />

<dataNode name="dn2" dataHost="localhost" database="db2" /> 

<dataNode name="dn3" dataHost="localhost" database="db3" /> 

 

<dataHost name="localhost" maxCon="1000" minCon="10" balance="0" writeType="0" dbType="mysql" dbDriver="native" switchType="1" slaveThreshold="100">

<heartbeat>select user()</heartbeat> 

<!-- url 填Mysql的地址以及端口号 ,user 填mysql用户,password 填密码 -->

<writeHost host="hostM1" url="localhost:3306" user="root" password="mysql">

</writeHost>

</dataHost> 

</mycat:schema>

5、配置rule.xml

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE mycat:rule SYSTEM "F:\workPlace\Mycat-Server-1.5\src\main\resources\backups\rule.dtd">

<mycat:rule xmlns:mycat="http://org.opencloudb/">

<tableRule name="mod-long">

<rule>

<columns>title</columns>

<algorithm>murmur1</algorithm>

</rule>

</tableRule>

<!--name 定义分片方法名称   这里使用一致性哈希算法 -->

<function name="murmur1" class="org.opencloudb.route.function.PartitionByMurmurHash">

<!-- how many data nodes -->

<property name="count">3</property>

<property name="virtualBucketTimes">90</property>

</function>

</mycat:rule>

三、项目运行

1、在Eclipsemycat项目下打开MycatStartup这个类,找到main方法,右键->Run As->Java Application

 

2、然后在下面配置运行参数。



然后再重新启动mycat


看到MyCAT Server startup successfully. see logs in logs/mycat.log

就表示mycat 启动成功啦。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值