otter及canal学习总结

1.同一台机器是否可以配置多个node?(OK,可以的,但是基本没必要,由于node本身可以配置给两个channel来使用,并且可以指定两个源的库同步,因此只

需要将单个node的能量释放即可,除非有必要保证两个node的升级不相互影响)


2.同一个源的不同的库同步是否可以使用同一node来同步?(OK,可以的,但是必须配置两个canal名字,且使用两个pipeline)


3.不同源的两个库是否可以用同一个node来同步?(可以的,但是必须建立两个canal)


4.一个pipeline的两张表可以是两个库吗?(可以的)可以是两个源吗?(不可以)


5.每个node的承载量是多大,支持多大的数据传输速度?(默认配置下,每秒钟10000条数据的内存占有大概200M左右)


6.配置canal的获取数据的自动主备机切换。由于载入是kafka,暂时不需要配置load的主备机切换。


7.使用otter之后,需要安装canal吗?(不需要,otter在node中内嵌canal,且通过界面启动多线程方式启动)



8.node必须在manager创建之后添加nid给node,并且,node配置必须连接manager。在node对应的otter.properties下配置。


9.manager 的安装必须建立两个库,一个otter库用来存储manager的业务配置,包括node等的运行日志等,一个binlog库,用来存储各系统的binlog日志,防

止扯皮,注意这个binlog的实时清除。


10.是否可以使用实时数据同步,需验证以下配置

查看binlog的format方式
(1)show variables like '%binlog_format%';

(2)开启mysql的binlog,在mysql的my.ini中配置

    log-bin=mysql-bin #添加这一行就ok

    binlog-format=ROW #选择row模式

    注意,需要重启mysql

(3)给canal的配置用户,开启binlog dump权限

    CREATE USER canal IDENTIFIED BY 'canal';  -- 如果存在用户,不需要创建。
    GRANT SELECT, REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'canal'@'%';
    -- GRANT ALL PRIVILEGES ON *.* TO 'canal'@'%' ;
    FLUSH PRIVILEGES;


11.一个抽取任务的步骤严格如下,否则有出现无法点击启动的现象。

需要保证先添加了zk配置和node配置。

操作步骤:
1.  添加数据库
    a.  源库 jdbc:mysql://10.20.144.25:3306
    b.  目标库 jdbc:mysql://10.20.144.29:3306
2.  添加canal
    a.  提供数据库ip信息
3.  添加同步表信息
    a.  源数据表 test.example
    b.  目标数据表 test.example
4.  添加channel
5.  添加pipeline
    a.  选择node节点
    b.  选择canal
6.  添加同步映射规则
    a.  定义源表和目标表的同步关系
7.  启动
8.  测试数据


12.otter可以通过系统配置不同角色用户,来操作和查看系统。

猜你喜欢

转载自xiangkuifu-163-com.iteye.com/blog/2378597