otter
文章平均质量分 59
Elon Qiu
互联网+物流
展开
-
otter学习(一)——otter原理
1.otter原理: 基于数据库增量日志解析,准实时同步到本机房或异地机房的mysql/oracle数据库. 一个分布式数据库同步系统 原理描述: 1. 基于Canal开源产品,获取数据库增量日志数据。 2. 典型管理系统架构,manager(web管理)+node(工作节点) a. manager运行时推送同步配置到node节点...原创 2019-02-27 15:22:46 · 3684 阅读 · 2 评论 -
otter学习(二)—— 快速搭建一个能够本地调试的otter系统
一、搭建otter系统需要的环境 1.jdk1.6.25以上的版本 2.方便本地调试用的IDE(Eclipse\IntelliJ IDEA) 3.mysql数据库 4.zookeeper 5.node 6.otter.manager 7.maven 二、数据库搭建 在你的mysql数据库新建一个otter的da...原创 2019-02-27 15:24:13 · 2049 阅读 · 2 评论 -
otter学习(三)——实践一:单源单表同步到单表
假设我们有个需要:需要把昆山嘉民仓wms库的t_inventory_bin表数据,同步到数据平台的picking库t_inventory_bin表中。我们按以下步骤进行配置一、配置数据源 1.登录otter,进入配置管理里的数据源配置页面,点击页面左下方的添加按钮(如果没有此按钮,请检查是否登录,或者账号是否具有权限) 2.填写数据源...原创 2019-02-27 15:25:14 · 1096 阅读 · 0 评论 -
otter学习(四)—— 实践二:扩展同步
阅读完实践一的小伙伴肯定心想,如果只是单表同步,那我直接mysql的主从即可,何必搞得这么麻烦。 虽然otter可以加速同步,但是国内的环境很少有达到阿里的那个场景的啊。 这时,我们就要开始第二次实践,体验otter的高扩展性了。 还是以实践一的场景为例子,但是,我们做一些扩展: 假设我在同步的时候,把目...原创 2019-02-27 15:25:52 · 2311 阅读 · 1 评论 -
otter学习(五)—— 实践三:单源多表同步单库单表
看完了实践一与实践二、我们大致对otter有了一个简单认识。那么,我们有个大胆的想法,能否直接用otter来充当etl工具呢?我们从数据库多个业务表中选取数据,然后同步到一张累计事实表中说干就干:一、需求梳理: 1.接口层接收到上游单据时,需要在目标表新建一条订单记录 2..接口层接收到订单,流入wms系统后,需要对目标表相应的记录做更新,且在生命周...原创 2019-02-27 15:27:09 · 1737 阅读 · 1 评论 -
otter学习(六)—— 实践四:多源多表同步单源单表
通过实践一、二、三之后,我们已经能初步的运用otter来实现某个仓库的数据同步需求,那么多个仓库都要往一张表里同步怎么办呢?otter的pipeline配置,是一个pipeline仅仅只能连接一个源,如果需要多源的情况下,仅仅只需要把之前的配置再配置一遍,然后转义代码里重设warehouse_id的值用于区分数据的来源即可一、配新的数据源、需要同步的数据表、新的canal 二...原创 2019-02-27 15:27:53 · 2164 阅读 · 2 评论 -
otter学习(七)—— 实践五:单源单表同步单源多表
通过了实践一、二、三、四。我们已经初步解决了各仓库订单数据上云的需求。此时,仓库爸爸们又来了一个新的需求,要求增加一个订单打包数的统计。好说,我们一查对应关系,一个订单有多少包裹,可以通过t_box关联查到。但是!t_box表已经有映射在使用了。此时,你是不是想,我再配一个t_box表的映射不就行了吗比如这样:很遗憾的告诉大家,这种方式并不可行。这么配置,只会出现三个结果:...原创 2019-02-27 15:28:49 · 803 阅读 · 0 评论 -
otter学习(八)—— otter使用的一些经验
1.不要让otter去干不属于他的工作。otter专心于数据同步就好2.因为otter的输出并非按时序处理的,很有可能会出现先update,再insert的骚操作,对此,我们尽量减少强转为update的处理,多用otter的insert on duplicate key update3.处理时间字段时,要注意目标表的时间格式及数据库模式,比如0l转成的1970-01-01 08:00:00...原创 2019-02-27 15:29:28 · 4412 阅读 · 1 评论 -
otter学习(九)——常见报错处理
一、binlog文件被清理:Could not find first log file name in binary log index file1.报错日志2.现象如下图所示,pipeline的mainstem状态 一直处于定位中状态3.问题排查一般出现这个报错,都是由于运维同学误清空数据库binlog文件导致,我们按下述步骤确定是否由于binlog文件被清理:...原创 2019-02-27 15:33:16 · 14485 阅读 · 13 评论