V1.0.0-beta
Pre-release
Pre-release
lulu2panpan
released this
29 Dec 08:09
·
56 commits
to master
since this release
重要功能新增
- 新增kudu-writer插件
- 新增kafka-writer插件
- 对Task新增两个维度的监控
- 支持TaskBusyStatus监控,当Task在Writer端出现卡死情况时,系统可监控预警,参见类:TaskSyncStatusManager
- 新增Task轨迹查看功能:精确查看在不同时间段Task执行所在的Worker机器,便于排查问题,参见类:TaskTraceMonitor
- 对es-writer插件进行了升级
- 支持routing方式的同步,配置映射时可指定routing字段
- 列名前缀支持可配置,参见类:EsMappingParameter
- 对Mysql-Reader进行了重写
- 新增精确补数据功能:出现数据缺失时,不用再通过重置Task位点修复数据,也不用再通过新建临时Task修复数据,直接在现有Task发起数据修补请求即可(类似otter的自由门),对业务影响降到最小
- 新增影子位点功能:同一Task既有主位点,又有影子位点,影子位点的意义是支持对Task的部分映射进行独立的位点重置,而不影响主流程
- 读取Binlog时,支持多路复用,即多个MysqlTaskReader可以在内存中共用一份儿Binlog,以减轻DB的压力(建议在测试和预发环境使用,默认不开启)
- 新增对有效同步位点进行记录的机制,有效同步位点记录的是:真正影响到Task同步映射关系的binlog消费位点,参见类:CanalReaderEffectSyncPosition
重要功能优化
- 对rdbms-writer插件进行了优化
- 支持自增列不是主键情况下的同步,参见类:SqlBuilder
- 支持更新时不仅更新发生变更的列,还能更新所有列,参见类:RdbmsWriterParameter
- 对hdfs-writer插进行了优化
- 对HRecord数据类型增加参数binlog_eventtime,以支持对同一rowkey去重
- 调用其它Worker释放租约时,url中的端口调整为动态获取,参见类:RemoteUtil
- 对hbase-writer插件进行了优化
- 同步时,family列族名称支持自定义,参见类:HBaseMappingParameter
- 对Worker运行时进行了优化
- 调整了worker的jmx监听端口,避免同一台机器同时部署manager和worker时端口冲突
- 优化了TaskConfigManager,支持不同分组发布不同版本的程序包(之前的实现方式,每次tryRfresh时会取所有task配置,无法支持版本兼容)
- 优化了AbstractHandler的线程池策略,调整为Cache模式
其它优化调整
- 升级zkclient版本到0.10
- 升级mysql驱动到8.0.11
- 升级canal版本到1.1.3
- 升级druid版本到1.1.16
- 增加页面操作日志审计功能,可对关键操作进行行为审计
- 分组管理页面增加强制触发Reblance功能
- 同一个Task下,支持某张表同时同步到同一个目标DB的不同表(之前版本不支持)
如何升级
- 执行如下升级sql,可从旧版本,无缝升级到新版本,升级Sql