cobar 编译安装配置笔记
https://github.com/alibaba/cobar
windows下使用eclipse导入cobar项目,eclipse File -> Import -> Git
https://github.com/alibaba/cobar
linux下:wget https://codeload.github.com/alibaba/cobar/zip/master
F:\mycat>mvn compile
F:\mycat>mvn package
生成压缩包cobar-server-1.2.7.tar.gz,放到linux环境中解压出来,没有logs目录,新建并运行查看目录结构如下:
[root@XAYQ-Test3 ~]# tree /opt/cobar-server
/opt/software/cobar-server
├── bin
│ ├── restart.sh
│ ├── shutdown.sh
│ ├── startup.bat
│ └── startup.sh
├── conf
│ ├── log4j.xml #日志配置文件,不需要修改
│ ├── rule.xml #mysql路由规则
│ ├── schema.xml #
│ └── server.xml #
├── lib
│ ├── cobar-server-1.2.7.jar
│ └── log4j-1.2.17.jar
└── logs
├── alarm.log
├── console.log
├── heartbeat.log
├── stdout.log
└── stdout.log.2014-07-10
1.主要修改以下几个文件:rule.xml
<!-- 路由规则定义,定义什么表,什么字段,采用什么路由算法 -->
<tableRule name="rule1">
<rule>
<columns>id</columns>
<algorithm><![CDATA[ func1(${id}) ]]></algorithm>
</rule>
</tableRule>
<!-- 路由函数定义 -->
<function name="func1" class="com.alibaba.cobar.route.function.PartitionByLong">
<property name="partitionCount">2</property>
<property name="partitionLength">512</property>
</function>
2.schema.xml ,定义数据节点
<cobar:schema xmlns:cobar="http://cobar.alibaba.com/">
<!-- schema定义 -->
<schema name="cppdb" dataNode="cppDb1">
<table name="tb2" dataNode="cppDb2,cppDb3" rule="rule1" />
</schema>
<!-- 数据节点定义,数据节点由数据源和其他一些参数组织而成。-->
<dataNode name="cppDb1">
<property name="dataSource">
<dataSourceRef>cppDataSource[0]</dataSourceRef>
</property>
</dataNode>
<dataNode name="cppDb2">
<property name="dataSource">
<dataSourceRef>cppDataSource[1]</dataSourceRef>
</property>
</dataNode>
<dataNode name="cppDb3">
<property name="dataSource">
<dataSourceRef>cppDataSource[2]</dataSourceRef>
</property>
</dataNode>
<!-- 数据源定义,数据源是一个具体的后端数据连接的表示。-->
<dataSource name="cppDataSource" type="mysql">
<property name="location">
<location>172.22.14.7:3306/cpp1</location>
<location>172.22.14.7:3306/cpp2</location>
<location>172.22.14.7:3306/cpp3</location>
</property>
<property name="user">root</property>
<property name="password">root</property>
<property name="sqlMode">STRICT_TRANS_TABLES</property>
</dataSource>
</cobar:schema>
3.server.xml,定义cobar对外统一的数据接口。
<!-- 用户访问定义,用户名、密码、schema等信息。 -->
<user name="root">
<property name="password">root</property>
<property name="schemas">cppdb</property>
</user>
cobar升级版:mycat,提供了大连的文档,以及源码。
http://code.taobao.org/svn/openclouddb/