IDEA 搭建 Otter 源码 DEBUG 环境
在适配 ShardingSphere-JDBC 同步 Otter 时,本地搭建 Otter Debug 环境记录。
1.源码编译启动
编译
shell
# 参考官方文档,安装 otter/lib 目录下的依赖。
mvn install:install-file -Dfile=/otter/lib/jtester-1.1.8.jar -DgroupId=org.jtester -DartifactId=jtester -Dversion=1.1.8 -Dpackaging=jar
mvn install:install-file -Dfile=/otter/lib/ojdbc6.jar -DgroupId=com.oracle -DartifactId=ojdbc6 -Dversion=11.2.0 -Dpackaging=jar
使用jdk8,按照官方文档编译即可。
https://github.com/alibaba/otter
manager 模块启动
1.参考官方文档,初始化 otter manager mysql 相关表。
https://github.com/alibaba/otter/wiki/Manager_Quickstart
2.修改 manager 模块里的 otter 配置文件
/otter/manager/deployer/src/main/resources/otter.properties
properties
## otter communication port
otter.communication.manager.port = 10999
## 还有mysql用户名密码
3.运行 com.alibaba.otter.manager.deployer.OtterManagerLauncher 即可。
4.验证 http://127.0.0.1:8080/ 可以正常访问,使用 admin/admin 登录。
node 模块启动
运行 com.alibaba.otter.node.deployer.OtterLauncher 即可。
ConfigException: nid is not set!
需要添加jvm启动参数,如下:
-Dnid=1
修改同模块下的 otter.properties 配置文件,指定manager的通信端口,和上面 manger 里的配置保持一致即可。
otter.manager.address = 127.0.0.1:10999
测试验证
mysql 需要开启 binlog
sql
mysql> SHOW VARIABLES LIKE 'log_bin';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| log_bin | ON |
+---------------+-------+
1 row in set (0.00 sec)
在 otter manager 里配置好 channel->pipeline->表映射。
向源端插入数据,查询目标端可以正常完成数据同步。然后就可以 Debug Otter Node 的逻辑了。
2.Release 包启动
下载官方 Release 包,直接参考如下官方文档部署即可。
启动 otter-manager
https://github.com/alibaba/otter/wiki/Manager_Quickstart