一 简介: 今天咱们来聊聊 canal和otter的组合搭配吧
二 概念统计
1. 基于Canal开源产品,获取数据库增量日志数据。
2. 典型管理系统架构,manager(web管理)+node(工作节点)
a. manager运行时推送同步配置到node节点
b. node节点将同步状态反馈到manager上
3. 基于zookeeper,解决分布式状态调度的,允许多node节点之间协同工作.
三 机器组成:
1 manager节点(最好自带数据库) 2 node节点 3 ZK集群 4 mysql数据库
四 manager安装
1 下载sql文件并导入
wget https://raw.github.com/alibaba/otter/master/manager/deployer/src/main/resources/sql/otter-manager-schema.sql
source otter-manager-schema.sql
2 下载安装包
wget https://github.com/alibaba/otter/releases/download/v4.2.15/manager.deployer-4.2.15.tar.gz
tar xzvf manager.deployer-4.2.15.tar.gz -C /usr/local/otter-manager
3 修改配置文件otter.properties
otter.zookeeper.cluster.default = zk地址:2181
otter.domainName =本机IP地址
otter.database.driver.url = jdbc:mysql://IP:3306/otter
otter.database.driver.username = 用户名
otter.database.driver.password = 密码 //otter管理节点需要使用数据库,这里设置的是连接这台数据库的用户名密码
4 启动相应进程
startup.sh
5 manager启动测试
访问地址 http://127.0.0.1:8080/login.htm,初始密码为:admin/admin
五 node 启动
web端进行配置
1 机器管理->node管理->node 添加
机器名称:可以随意定义,方便自己记忆即可
机器ip:对应node节点将要部署的机器ip,如果有多ip时,可选择其中一个ip进行暴露. (此ip是整个集群通讯的入口,实际情况千万别使用127.0.0.1,否则多个机器的node节点会无法识别)
外部ip :对应node节点将要部署的机器ip,存在的一个外部ip,允许通讯的时候走公网处理,此参数适用于node集群
2 从节点服务器进行安装配置
1 wget https://github.com/alibaba/otter/releases/download/v4.2.15/node.deployer-4.2.15.tar.gz
tar xzvf node.deployer-4.2.15.tar.gz -C /usr/local/otter-node
wget http://repository.it4i.cz/mirrors/repoforge/redhat/el6/en/x86_64/rpmforge/RPMS/rpmforge-release-0.5.3-1.el6.rf.x86_64.rpm
rpm -ivh rpmforge-release-0.5.3-1.el6.rf.x86_64.rpm
yum -y install aria2
2 修改配置文件
1 NID配置
echo 1 > conf/nid (这里的NID是第一步配置生成的第一个ID)
2 otter.properties配置修改
otter.manager.address = IP:1099 正确的otter-manager地址
3 启动node节点服务,观察日志
4 查看状态
机器管理->node管理 查看node节点是否正常运行如果没有启用,请查看日至进行排查
六 同步配置
1 canal配置
配置管理->canal管理
相关参数: 1 源数据源和相关的账号密码字符集
2 zk集群
3 同步信息存储机制
2 数据源配置
配置管理->数据源配置
相关参数: 1 原和目的数据的账号密码和URL
配置完进行检测
3 数据表配置
配置管理->数据表配置
相关参数:1 原和目的的数据库相关的库+表(.*代表匹配全部)
七 同步管理
1 添加chanal通道
添加pipeline
相关参数:源和目的映射参数
2 启动chanal通道
八 验证节点
1 node节点状态
2 chanal状态
3 数据源相关配置状态
4 zk节点配置