Binlog抽数

一、Canal安装部署

1.下载canal安装包

下载地址:Releases · alibaba/canal · GitHub

下载版本为1.0.26切记不要使用1.0.25,有bug

2.解压缩

tar -zxvf canal.deployer-1.0.26-SNAPSHOT.tar.gz

解压之后有如下四个目录:

drwxr-xr-x  2 root     root        4096 Jun 15 01:45 bin

drwxr-xr-x 13 root     root        4096 Jun 12 14:14 conf

drwxr-xr-x  2 root     root        4096 Jun  5 00:28 lib

drwxrwxrwx 13 root     root        4096 Jun 19 10:06 logs

3.配置

到conf目录下:

vi canal.properties

复制实例,将example改为自己需要的名字。如oms1

配置单个实例:

vi oms1/instance.properties

 如果是配置高可用,则需要在另外一台服务器上配置相同的canal不过slaveid不能相同

4.启动

到bin目录下:

启动:sh startup.sh

停止:sh stop.sh

5.客户端的使用

在服务器10.138.232.93上

cd /usr/local/canal.client/bin

执行sh oms1.sh启动oms1实例的客户端

配置文件在此目录下config文件夹中

vi canal.properties

 二、Canal部署情况

1、canal server 部署在以下节点:

10.138.232.94

10.138.232.95

server目录:

/usr/local/canal1.0.26

目前 10.138.232.95是主

2、canal client 部署在以下节点:

10.138.232.93

10.138.232.92

目录:/usr/local/canal.client/

目前有10个实例:

oms1 - oms8 + yuyue132 yuyue134

启动脚本在

/usr/local/canal.client/bin下

每个实例对应的启动脚本为:

实例名.sh

启动client:

sh 实例名.sh

3、查看 canal 进程

登录到93上

ps -ef|grep canal

4、数据日志目录

client节点的

/data/dfs/dn/disk10/canal/logs/

三、Canal读取目标服务器宕机操作

1.canal读取的目标服务器宕机之后,canalserver端会报错:

CanalClient也接不到数据了,查看数据日志会发现不会有新数据产生。

2.目标服务器恢复之后。连接执行show binary logs;

会看到:

明显有宕机后没有产生binlog日志的情况。

3.在服务器上打开zk客户端查看:

sh /opt/cloudera/parcels/CDH-5.12.2-1.cdh5.12.2.p0.4/lib/zookeeper/bin/zkCli.sh

get /otter/canal/destinations/yuyue134/1001/cursor

可以看到保存在zk上的点位信息

如果和第二步查询到的出问题binlog_name吻合,可以确定问题所在。

4.在zk上删除此节点

rmr /otter/canal/destinations/yuyue134/1001/cursor

5.将出问题binlog_name记录下来,配置在canalServer的对应实例配置文件里:

 保存后,在日志中会看到:

说明启动成功。

四、Binlog抽数

MySQL是最常见的数据库管理系统,我们会从MySQL实例中抽取数据,存入一个中心节点,或直接进入Hive。

简单来说,Canal会将自己伪装成MySQL从节点(Slave),并从主节点(Master)获取Binlog,解析和贮存后供下游消费端使用。Canal包含两个组成部分:服务端和客户端。服务端负责连接至不同的MySQL实例,并为每个实例维护一个事件消息队列;客户端则可以订阅这些队列中的数据变更事件,处理并存储到数据仓库中。 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

AllenGd

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值