IDEA 搭建 Otter 源码 DEBUG 环境

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

启动 otter-node

https://github.com/alibaba/otter/wiki/Node_Quickstart