cobar下载地址:https://github.com/alibaba/cobar
下载好了的代码是没有.project文件的,只有java文件,如果你直接运行cobar-master\server\assembly\bin目录下的startup.bat是不会成功的,应该缺少lib文件以及class文件。在MyEclipse中以maven项目形式导入,然后Update Dependencies,接着Maven Install,就得到了编译结果。
将编译之后生成的cobar-server-1.2.7.zip 解压,然后修改解压后的schema.xml,具体就是配置数据节点,MySQL的用户名密码等设置。
设置好了之后,需要注意的是:修改startup.bat脚本,因为此脚本中的版本与我下载的版本不一致,具体需要修改的是以下两行:
set "APP_VERSION=1.2.7"
set "COBAR_CLASSPATH=%COBAR_CLASSPATH%;%COBAR_HOME%\lib\log4j-1.2.17.jar"
这里的cobar-server的版本和log4j的版本都需要改成当前使用的版本,否则会出错!
这样就可以运行startup.bat,查看logs目录下的stdout.log可以看到输出:
22:12:03,289 INFO ===============================================
22:12:03,290 INFO Cobar is ready to startup ...
22:12:03,290 INFO Startup processors ...
22:12:03,358 INFO Startup connector ...
22:12:03,362 INFO Initialize dataNodes ...
22:12:03,407 INFO dnTest1:0 init success
22:12:03,410 INFO dnTest3:0 init success
22:12:03,412 INFO dnTest2:0 init success
22:12:03,419 INFO CobarManager is started and listening on 9066
22:12:03,422 INFO CobarServer is started and listening on 8066
22:12:03,422 INFO ===============================================
然后就可以像登陆MySQL一样登陆cobar:
mysql -h127.0.0.1 -utest -ptest -P6088 -Ddbtest
端口号6088在stdout.log中有提示,以上用户名密码都是test,数据库名dbtest着三个参数在cong/server.xml中可以设置。
可以看到当前暴露给用户的就是dbtest这一个数据库,而将三个数据节点dbtest1,dbtest2,dbtest3都隐藏了:
然后插入数据测试数据分布:
往tb2中插入数据之后通过navicat连接MySQL查看dbtest1,dbtest2,dbtest3这三个库中的数据分布,发现:
tb2中的数据的确是分布在dbtest2和dbtest3两个DataNode中。对于cobar有待更深入的研究。