阿里otter系统部署手册.docxVIP

  • 428
  • 0
  • 约8.6千字
  • 约 20页
  • 2019-04-03 发布于江苏
  • 举报
阿里otter应用 系统部署手册 版本号 日期 作者 备注 0.1 2016-4-29 fashchina 初始 产品说明 名称:otter [?t?(r)] 译意: 水獭,数据搬运工 语言: 纯java开发 定位: 基于数据库增量日志解析,准实时同步到本机房或异地机房的mysql/oracle数据库. 一个分布式数据库同步系统。 工作原理 一、原理描述: 1. 基于Canal开源产品,获取数据库增量日志数据。 什么是Canal, 请点击 2. 典型管理系统架构,manager(web管理)+node(工作节点) a. manager运行时推送同步配置到node节点 b. node节点将同步状态反馈到manager上 3. 基于zookeeper,解决分布式状态调度的,允许多node节点之间协同工作. 二、什么是canal? otter之前开源的一个子项目,开源链接地址: HYPERLINK /alibaba/canal /alibaba/canal otter能解决什么? 1. 异构库同步 a. mysql - mysql/oracle. (目前开源版本只支持mysql增量,目标库可以是mysql或者oracle,取决于canal的功能) 2. 单机房同步 (数据库之间RTT 1ms) a. 数据库版本升级 b. 数据表迁移 c. 异步二级索引 3. 异地机房同步 (比如阿里巴巴国际站就是杭州和美国机房的数据库同步,RTT 200ms,亮点) a. 机房容灾 4. 双向同步 a. 避免回环算法 (通用的解决方案,支持大部分关系型数据库) b. 数据一致性算法 (保证双A机房模式下,数据保证最终一致性,亮点) 5. 文件同步 a. 站点镜像 (进行数据复制的同时,复制关联的图片,比如复制产品数据,同时复制产品图片). 初步性能指标 1. 单机房同步 a. 100tps , 延迟100ms b. 5000tps, 延迟1s 2. 中美异地机房同步 a. 100tps , 延迟2s b. 5000tps ,延迟10s ps. 性能指标取决于目标数据库性能,数据大小等多个因素,单机房100b大小,极限tps可以1w+ 名词解释 Pipeline:从源端到目标端的整个过程描述,主要由一些同步映射过程组成。 Channel:同步通道,单向同步中一个Pipeline组成,在双向同步中有两个Pipeline组成。 DataMediaPair:根据业务表定义映射关系,比如源表和目标表,字段映射,字段组等。 DataMedia : 抽象的数据介质概念,可以理解为数据表/mq队列定义。 DataMediaSource : 抽象的数据介质源信息,补充描述DateMedia。 ColumnPair : 定义字段映射关系。 ColumnGroup : 定义字段映射组。 Node : 处理同步过程的工作节点,对应一个jvm。 otter的S/E/T/L stage阶段模型 说明:为了更好的支持系统的扩展性和灵活性,将整个同步流程抽象为Select/Extract/Transform/Load,这么4个阶段. Select阶段: 为解决数据来源的差异性,比如接入canal获取增量数据,也可以接入其他系统获取其他数据等。 Extract/Transform/Load 阶段:类似于数据仓库的ETL模型,具体可为数据join,数据转化,数据Load的 环境准备 1. 操作系统 a. otter为纯java编写,windows/linux均可支持 b. jdk建议使用1.6.25以上的版本,稳定可靠,目前阿里巴巴使用基本为此版本 2. 整个otter同步由manager、node部分组成,需要预先进行安装, 3. otter node依赖于zookeeper进行分布式调度,需要安装一个zookeeper节点或者集群.在manager启动完成后,需要首先定义不同机房的zookeeper机器集群。 网络要求 千兆网络 环境安装 MANAGER的安装 环境准备 1. otter manager依赖于mysql进行配置信息的存储,所以需要预先安装mysql,并初始化otter manager的系统表结构 a. 安装mysql,这里略过。 b. 初始化otter manager系统表 找到安装脚本otter-manager-schema.sql,然后登入MYSQL后执行下面语句: source otter-manager-schema.sql source otter-manager-schema.sql 2. 整个ot

文档评论(0)

1亿VIP精品文档

相关文档