025-大数据ETL工具之StreamSets安装及订阅mysql binlog

栏目: 数据库 · 发布时间: 5年前

内容简介:这是坚持技术写作计划(含翻译)的第25篇,定个小目标999,每周最少2篇。本文主要介绍CDH6.2+StreamSets3.9。StreamSets是一个大数据采集和数据处理工具。可以通过拖拽式的可视化操作,实现数据管道(Pipelines)的设计和调度。其特点有:

这是坚持技术写作计划(含翻译)的第25篇,定个小目标999,每周最少2篇。

本文主要介绍CDH6.2+StreamSets3.9。

StreamSets是一个大数据采集和数据处理工具。可以通过拖拽式的可视化操作,实现数据管道(Pipelines)的设计和调度。其特点有:

  • 拖拽式的可视化界面操作,上手快。
  • 对常见数据处理(数据源、数据操作、数据输出)支持较好。
  • 内置监控,可以对数据流进行观测。

类似的开源产品还有 Apache NiFi , 网上有关于NiFi和StreamSets 的对比 Open Source ETL: Apache NiFi vs Streamsets (网上有中文翻译版版)

国内接触较多的ETL工具,可能是 DataXKettleSqoop 。此处有个简单的对比, 数据集成之 kettle、sqoop、datax、streamSets 比较

安装StreamSets 3.9

下载parcel安装包

https://archives.streamsets.com/index.html 下载3.9的

025-大数据ETL工具之StreamSets安装及订阅mysql binlog

并上传到http服务器的www目录下,本文以centos7.6为例

wget -P /var/www/html/streamsets3.9.0/ https://archives.streamsets.com/datacollector/3.9.0/parcel/manifest.json
wget -P /var/www/html/streamsets3.9.0/ https://archives.streamsets.com/datacollector/3.9.0/parcel/STREAMSETS_DATACOLLECTOR-3.9.0-el7.parcel.sha
wget -P /var/www/html/streamsets3.9.0/ https://archives.streamsets.com/datacollector/3.9.0/parcel/STREAMSETS_DATACOLLECTOR-3.9.0-el7.parcel

025-大数据ETL工具之StreamSets安装及订阅mysql binlog

配置csd

wget -P /opt/cloudera/csd/ https://archives.streamsets.com/datacollector/3.9.0/csd/STREAMSETS-3.9.0.jar
cd /opt/cloudera/csd/
sudo chown cloudera-scm:cloudera-scm STREAMSETS-3.9.0.jar && sudo chmod 644 STREAMSETS-3.9.0.jar
systemctl restart cloudera-scm-server

下载分发Parcel包

025-大数据ETL工具之StreamSets安装及订阅mysql binlog 025-大数据ETL工具之StreamSets安装及订阅mysql binlog 025-大数据ETL工具之StreamSets安装及订阅mysql binlog 025-大数据ETL工具之StreamSets安装及订阅mysql binlog

下载并激活,但是,我实际测试时,总大小,4.6G,实际下载后,5.2G,导致sha1sum 校验失败,报

025-大数据ETL工具之StreamSets安装及订阅mysql binlog

在cm所在主机, ls -lah /opt/cloudera/parcel-repo

025-大数据ETL工具之StreamSets安装及订阅mysql binlog

把下载的 https://archives.streamsets.com/datacollector/3.9.0/parcel/STREAMSETS_DATACOLLECTOR-3.9.0-el7.parcel 复制到 /opt/cloudera/parcel-repo 下

025-大数据ETL工具之StreamSets安装及订阅mysql binlog

如果已经不信邪,试过下载,并报hash错误后,直接替换后,这个页面还是提示hash,此时再次点击下载,就会变成分配。

激活后如下所示

025-大数据ETL工具之StreamSets安装及订阅mysql binlog 025-大数据ETL工具之StreamSets安装及订阅mysql binlog 025-大数据ETL工具之StreamSets安装及订阅mysql binlog

创建完毕

streamsets 简单使用

打开streamsets,默认用户名密码 admin/admin

025-大数据ETL工具之StreamSets安装及订阅mysql binlog 025-大数据ETL工具之StreamSets安装及订阅mysql binlog

官方教程,参考 Basic Tutorial

本文主要讲解订阅mysql binlog进行数据同步

mysql binlog

开启binlog

修改 mysql 配置文件,my.cnf,在mysqld下增加(注意5.7的不加server-id无法正常启动)

server-id=1
log-bin=mysql-bin
binlog_format=ROW

创建并配置同步账号

GRANT ALL on slave_test.* to 'slave_test'@'%' identified by 'slave_test';
GRANT SELECT, REPLICATION CLIENT, REPLICATION SLAVE on *.* to 'slave_test'@'%';
FLUSH PRIVILEGES;

安装mysql jdbc驱动

wget -P /opt/cloudera/parcels/STREAMSETS_DATACOLLECTOR/streamsets-libs/streamsets-datacollector-mysql-binlog-lib/lib/ https://repo1.maven.org/maven2/mysql/mysql-connector-java/5.1.47/mysql-connector-java-5.1.47.jar

重启streamsets

创建pipeline

025-大数据ETL工具之StreamSets安装及订阅mysql binlog

配置mysql binlog解析及处理

025-大数据ETL工具之StreamSets安装及订阅mysql binlog 025-大数据ETL工具之StreamSets安装及订阅mysql binlog 025-大数据ETL工具之StreamSets安装及订阅mysql binlog 025-大数据ETL工具之StreamSets安装及订阅mysql binlog 025-大数据ETL工具之StreamSets安装及订阅mysql binlog

配置目标端

025-大数据ETL工具之StreamSets安装及订阅mysql binlog 025-大数据ETL工具之StreamSets安装及订阅mysql binlog

运行

025-大数据ETL工具之StreamSets安装及订阅mysql binlog

测试

此处使用mysql自带的压测工具 mysqlslap.exe 进行测试

bin/mysqlslap --user=root --password=xxxxxx --concurrency=50 --number-int-cols=5 --number-char-cols=20 --auto-generate-sql --number-of-queries=100000 --auto-generate-sql-load-type=write --host=192.168.0.123 --port=3306
--user 用户(需要有建库建表权限)
--password 密码
--concurrency 并发数
--number-int-cols 表内有5个数字列
--number-char-cols 表内有20个字符串列
--auto-generate-sql 自动生成脚本
--number-of-queries 总执行次数
--auto-generate-sql-load-type=write 只执行写入操作
--host mysql 主机
--port 端口

下方有监控报表

025-大数据ETL工具之StreamSets安装及订阅mysql binlog

常见错误

![image.png](https://cdn.nlark.com/yuque/0/2019/png/226273/1561021775509-fa60a34d-8e71-4e30-aa65-88a23521fb26.png)

同步不一致导致的错误,手动从

025-大数据ETL工具之StreamSets安装及订阅mysql binlog

设置偏移量

025-大数据ETL工具之StreamSets安装及订阅mysql binlog

如果报错 Pipeline Status: RUNNING_ERROR: For input string: ""xxxx" ,把my.cnf改成

server-id=1
log-bin=mysql-bin
binlog_format=ROW
sync_binlog=1
binlog_gtid_simple_recovery=ON
log_slave_updates=ON
gtid_mode=ON
enforce_gtid_consistency=ON

以上所述就是小编给大家介绍的《025-大数据ETL工具之StreamSets安装及订阅mysql binlog》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

程序员健康指南

程序员健康指南

Joe Kutner / 陈少芸 / 人民邮电出版社 / 2014-9-20 / 31.60元

本书是为程序员量身制作的健康指南,针对头痛、眼部疲劳、背部疼痛和手腕疼痛等常见的问题,简要介绍了其成因、测试方法,并列出了每天的行动计划,从运动、饮食等方面给出详细指导,帮助程序员在不改变工作方式的情况下轻松拥有健康。 本书适合程序员、长期伏案工作的其他人群以及所有关心健康的人士阅读。一起来看看 《程序员健康指南》 这本书的介绍吧!

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

RGB HSV 转换
RGB HSV 转换

RGB HSV 互转工具

HEX CMYK 转换工具
HEX CMYK 转换工具

HEX CMYK 互转工具