Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >如何在CDH中安装和使用StreamSets

如何在CDH中安装和使用StreamSets

作者头像
Fayson
修改于 2018-04-01 10:42:28
修改于 2018-04-01 10:42:28
36.8K2
举报
文章被收录于专栏:Hadoop实操Hadoop实操

温馨提示:要看高清无码套图,请使用手机打开并单击图片放大查看。 Fayson的github:https://github.com/fayson/cdhproject 提示:代码块部分可以左右滑动查看噢

1.关于StreamSets


StreamSets由Informatica前首席产品官Girish Pancha和Cloudera前开发团队负责人Arvind Prabhakar于2014年创立。他们成立该公司主要是应对来自动态数据(data in motion)的挑战 - 包括数据源,数据处理和数据本身,这是一个称为“数据漂移“(https://streamsets.com/reports/data-drift/)的问题。StreamSets设想从头开始管理数据流,避免已有产品和工具的缺陷,并启用一种管理动态数据(data in motion)的新方法。

他们的第一款产品StreamSets Data Collector(https://streamsets.com/products/sdc)被数百家公司用于构建复杂的任意数据流,其中包括财富500强企业,涵盖金融服务,制造业,医疗,媒体,制药和技术等多个行业。

他们最新的产品StreamSets Dataflow Performance Manager,也叫DPM,主要用于构建端到端的数据流。DPM是一个运行控制中心,可以让你映射(数据流),内置的测量和监测确保持续的数据传输和控制动态数据(data in motion)的性能。首先,它将你不同的数据流映射到支持你的每个关键业务流程的拓扑中。然后监测这些拓扑的日常运行情况,根据掌握的性能情况,以满足应用的SLA为目标,确保你始终提供及时和可信的数据。

StreamSets在旧金山,硅谷和巴塞罗那设有办事处,并得到顶级硅谷风险投资公司的支持,包括Accel Partners,Battery Ventures,Ignition Partners和New Enterprise Associates(NEA)。 在大数据行业领先的合作伙伴包括Cloudera,Databricks,MapR和Microsoft。

好了,Fayson讲点人话吧,StreamSets是一个大数据采集工具,数据源支持包括结构化和半/非结构化,目标源支持HDFSHBaseHive,Kudu,Cloudera Search, ElasticSearch等。它包括一个拖拽式的可视化数据流程设计界面,定时任务调度等功能。举例,它可以将数据源从Kafka+Spark Streaming连接到你的Hadoop集群,而不需要写一行代码。很炫酷有木有!!!下面我们随便看几张截图了再往后走。

2.文档编写目的


本文档主要讲述如何在Cloudera Manager 管理的集群中安装StreamSets和基本使用。

  • 内容概述:
  1. StreamSets安装配置
  2. StreamSets基本使用

3.常见问题

  • 测试环境:

1.操作系统为:Redhat7.2

2.CM和CDH为:5.13.1

3.安装步骤

3.1.安装前准备


到StreamSets官网提供的下载址:https://archives.streamsets.com/index.html

下载以下文件:这里下载使用的是 3.0版本

1.manifest.json 文件

2.STREAMSETS_DATACOLLECTOR-3.0.0.0-el7.parcel文件(比较大约4G左右,包含比较完整的插件)

3.STREAMSETS-3.0.0.0.jar

3.2.配置本地Parcel包


将下载的manifest.json和 STREAMSETS_DATACOLLECTOR-3.0.0.0-el7.parcel,放在一个新建文件夹StreamSets3.0中,并移动到/var/www/html 目录中,做离线包的下载地址,用浏览器访问如下,表示成功

3.3.配置CSD


将STREAMSETS-3.0.0.0.jar拷贝到/opt/cloudera/csd,并更改权限,然后重启cloudera-scm-server服务

代码语言:txt
AI代码解释
复制
[root@cdh4 ~]# cp STREAMSETS-3.0.0.0.jar /opt/cloudera/csd
[root@cdh4 csd]# sudo chown cloudera-scm:cloudera-scm STREAMSETS-3.0.0.0.jar && sudo chmod 644 STREAMSETS-3.0.0.0.jar
[root@cdh4 ~]# systemctl restart cloudera-scm-server

(可左右滑动)

3.4.下载分发激活Parcel包


在CM界面中点击Parcel > 配置 > 添加StreamSets的Parcel包路径,并保持修改

并下载分发和激活(本文档省略该步骤,直接查看激活后的状态)

3.5.添加StreamSets服务


完成上述步骤后,在集群 > 添加服务 中添加StreamSets 的服务

选择StreamSets安装

选择一个DataCollector 节点,默认配置,继续等待安装和启动完成

4.StreamSets 的基本使用


官方文档示例:

https://streamsets.com/documentation/datacollector/3.0.0.0/help/index.html#Tutorial/BasicTutorial.html#task_jmz_3dn_ls

4.1.登录


点击 StreamSets > Data Collector WebUI访问

默认的账户: admin 密码:admin

4.2.准备工作


准备工作:

从官网下载测试数据

https://www.streamsets.com/documentation/datacollector/sample_data/tutorial/nyc_taxi_data.csv

创建测试目录并赋予权限:

代码语言:txt
AI代码解释
复制
[root@cdh1 ~]# mkdir /home/test_stream
[root@cdh1 ~]# mkdir /home/test_stream/data
[root@cdh1 ~]# mkdir /home/test_stream/error
[root@cdh1 ~]# mkdir /home/test_stream/out
[root@cdh1 ~]# chmod -R 777 /home/test_stream

(可左右滑动)

将测试数据拷贝到 /home/test_stream/data 目录下

代码语言:txt
AI代码解释
复制
 [root@cdh1 ~]# ll /home/test_stream
 [root@cdh1 ~]# cp nyc_taxi_data.csv /home/test_stream/data/

(可左右滑动)

4.3.创建第一个Pipelines


保存后进入如下页面:

4.4.添加文件目录和修改属性


在侧边中选择Diretory或者Select Origin > Directory ,添加一个目录,选中目录后点击configuration> file,填写Files Directory 和File Name Pattern 还有选择Read Order 为最近更新时间

点击dataFormat 标签,修改选择如下选择

4.5.配置改Pipelines 的错误日志写入方式和目录


4.6.预览文件


将鼠标放到Directory1 上看到只剩一个Validation_0011的异常然后点击预览,Validation_0011仅表示目录原点尚未连接到任何内容,并且不会阻止数据预览

预览配置这里,我们选中预览来源,写入目的地和执行者,显示字段类型,记住配置,然后执行

执行后我们使用表格的方式查看如下:

4.7.添加流选择器


代码语言:txt
AI代码解释
复制
 ${record:value('/payment_type') == 'CRD'}

(可左右滑动)

这里只查看卡类型为信用卡的记录

4.8.使用jython 脚本来筛选卡片


使用Jython脚本创建了一个额外的字段credit_card_type,并通过评估信用卡号码的前几位来生成信用卡类型。如果记录具有信用卡付款类型而没有相应的信用卡号码,则脚本将返回错误消息。(这里下载的完整的parcels包所以Jython插件无需再下载,否则需要在Package Manager 中联网下载)

以下脚本放在 Jython >configuration>Jython>Script 中

代码语言:txt
AI代码解释
复制
try: 
  for record in records:
    cc = record.value['credit_card']
    if cc == '':
      error.write(record, "Payment type was CRD, but credit card was null")
      continue
    cc_type = ''
    if cc.startswith('4'):
      cc_type = 'Visa'
    elif cc.startswith(('51','52','53','54','55')):
      cc_type = 'MasterCard'
    elif cc.startswith(('34','37')):
      cc_type = 'AMEX'
    elif cc.startswith(('300','301','302','303','304','305','36','38')):
      cc_type = 'Diners Club'
    elif cc.startswith(('6011','65')):
      cc_type = 'Discover'
    elif cc.startswith(('2131','1800','35')):
      cc_type = 'JCB'
    else:
      cc_type = 'Other'
    record.value['credit_card_type'] = cc_type
    output.write(record)
except Exception as e:
  error.write(record, e.message)

(可左右滑动)

脚本在评估器中应当如下:

4.9.使用Field Masker来屏蔽信用卡号码


现在让我们通过使用Field Masker来屏蔽信用卡号码,防止敏感信息到达内部数据库

Field Masker提供固定和可变长度的掩码来屏蔽字段中的所有数据。要显示数据中的指定位置,您可以使用自定义掩码。要显示数据中的一组位置,可以使用正则表达式掩码来定义数据的结构,然后显示一个或多个组。

对于信用卡号码,我们将使用以下正则表达式来屏蔽除最后四位之外的所有数字:

信用卡号字段:/credit_card

代码语言:txt
AI代码解释
复制
(.*)([0-9]{4})

4.10.配置写入目的地


输出文件 tab 如下

Data Format 如下:

4.11.流程预览测试


可以查看到敏感信息被屏蔽

4.12.添加Expression Evaluator处理器


将一个Expression Evaluator处理器添加到画布并将Stream Selector的第二个默认流连 接到它。这会创建一个credit_card_type字段,指示信息不适用。

由于我们使用“n / a”作为表达式的常量,因此我们不需要使用美元符号和括号来表达表达式。但是如果我们想要使用它们,我们可以将它们定义为$ {'credit_card_type'}和$ {'N / A'}。

4.13.创建数据规则和告警信息


在我们运行基本管道之前,让我们添加一个数据规则和警报。数据规则是用户定义的规则,用于检查在两个阶段之间移动的数据。它们是查找异常值和异常数据的有效方法。

数据规则和警报需要详细了解通过管道的数据。对于更一般的管道监控信息,您可以使用度量标准规则和警报。

Jython Evaluator中的脚本为没有信用卡号码的信用卡交易创建错误记录。我们可以创建一个数据规则和警报,让我们知道记录数量何时达到指定阈值。

我们将使用带有record:value()函数的表达式来标识信用卡号码字段/credit_card为空的情况。该函数返回指定字段中的数据。

在流选择器和Jython评估器之间,选择链接或数据检查图标

1.“ dataRules”选项卡显示在“预览”面板中。

2.点击Add。

3.在“ data Rules”对话框中,配置以下属性。

4.14.校验执行


Jython评估器显示40条错误记录。单击错误记录编号以查看缓存的错误记录和相关错误消息的列表。

您也可以选择红色的数据检测图标来查看有关数据警报的信息并查看与数据警报相关的错误记录。

要继续扩展教程,请停止管道。

5.常见问题


执行的时候出现如下异常,说没有权限写入到root目录下

解决办法:选择管道>Configurtion > Error Records - Write to File >Directory 目录修改

提示:代码块部分可以左右滑动查看噢 为天地立心,为生民立命,为往圣继绝学,为万世开太平。 温馨提示:要看高清无码套图,请使用手机打开并单击图片放大查看。

推荐关注Hadoop实操,第一时间,分享更多Hadoop干货,欢迎转发和分享。

原创文章,欢迎转载,转载请注明:转载自微信公众号Hadoop实操

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2018-03-28,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Hadoop实操 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
2 条评论
热度
最新
您好: 刚接触streamsets,想问下用API怎么创建用户,createDPMUsers接口不知道怎么用,求大神赐教
您好: 刚接触streamsets,想问下用API怎么创建用户,createDPMUsers接口不知道怎么用,求大神赐教
回复回复点赞举报
可以可以,社会社会
可以可以,社会社会
回复回复点赞举报
推荐阅读
编辑精选文章
换一批
如何使用StreamSets从MySQL增量更新数据到Hive
温馨提示:要看高清无码套图,请使用手机打开并单击图片放大查看。 Fayson的github:https://github.com/fayson/cdhproject 提示:代码块部分可以左右滑动查看噢 1.文档编写目的 ---- 在前面Fayson介绍了《如何在CDH中安装和使用StreamSets》,通过StreamSets实现数据采集,在实际生产中需要实时捕获MySQL、Oracle等其他数据源的变化数据(简称CDC)将变化数据实时的写入大数据平台的Hive、HDFS、HBase、Solr、Elasti
Fayson
2018/04/18
15.1K3
如何使用StreamSets从MySQL增量更新数据到Hive
如何使用StreamSets实现MySQL中变化数据实时写入Kudu
温馨提示:要看高清无码套图,请使用手机打开并单击图片放大查看。 Fayson的github:https://github.com/fayson/cdhproject 提示:代码块部分可以左右滑动查看噢 1.文档编写目的 ---- 在前面Fayson介绍了《如何在CDH中安装和使用StreamSets》和《如何使用StreamSets从MySQL增量更新数据到Hive》,通过StreamSets实现数据采集,在实际生产中需要实时捕获MySQL、Oracle等其他数据源的变化数据(简称CDC)将变化数据实时的
Fayson
2018/04/18
5.6K0
如何使用StreamSets实现MySQL中变化数据实时写入Kudu
如何在CDH中安装Kudu&Spark2&Kafka
在CDH的默认安装包中,是不包含Kafka,Kudu和Spark2的,需要单独下载特定的Parcel包才能安装相应服务。本文档主要描述在离线环境下,在CentOS6.5操作系统上基于CDH5.12.1集群,使用Cloudera Manager通过Parcel包方式安装Kudu、Spark2和Kafka的过程。
Fayson
2018/03/29
5.9K0
如何在CDH中安装Kudu&Spark2&Kafka
如何在CDH5.13中安装CDSW1.2
Cloudera前一段时间发布了CDH5.13版本,5.13的新功能可以参考前一篇文章《CDH5.13和CM5.13的新功能》,在CDH5.13版本以后支持CDSW的Parcel安装,本篇文章就主要讲述如何通过CM使用Parcel包安装CDSW。
Fayson
2018/03/29
1K0
如何在CDH5.13中安装CDSW1.2
0787-6.3.3-如何在本地集群安装Workload Experience Manager(WXM)
Workload XM是Cloudera现代数据平台以工作负载为中心的管理工具,可主动分析数据仓库、数据工程和机器学习环境的工作负载,提升应用程序性能,以及优化基础架构的容量配置。Workload XM与Cloudera Enterprise平台内的多种计算引擎进行交互,使用户能够全面了解各类性能指标,从而通过迭代模式进行自助服务。
Fayson
2020/06/29
1.6K0
0787-6.3.3-如何在本地集群安装Workload Experience Manager(WXM)
如何在CDH5.15中安装CDSW1.4
温馨提示:如果使用电脑查看图片不清晰,可以使用手机打开文章单击文中的图片放大查看高清原图。 Fayson的github: https://github.com/fayson/cdhproject 提示:代码块部分可以左右滑动查看噢 1.文档编写目的 ---- Cloudera在2018年6月12日发布了CDH5.15版本,5.15的新功能可以参考前一篇文章《CDH5.15和CM5.15的新功能》,随着CDH5.15发布的同时还有CDSW1.4。在CDH5.13版本以后支持CDSW的Parcel安装,本篇文章
Fayson
2018/07/13
5.4K2
如何在CDH5.14中安装CDSW1.3
温馨提示:如果使用电脑查看图片不清晰,可以使用手机打开文章单击文中的图片放大查看高清原图。 Fayson的github: https://github.com/fayson/cdhproject 提示:代码块部分可以左右滑动查看噢 1.文档编写目的 ---- Cloudera在2018年1月26日发布了CDH5.14版本,5.14的新功能可以参考前一篇文章《CDH5.14和CM5.14的新功能》,在CDH5.13版本以后支持CDSW的Parcel安装,本篇文章就主要讲述如何通过CM5.14.3使用Parce
Fayson
2018/07/12
1.9K0
0726-6.3.0-如何在CDH6.3中安装Streams Messaging Manager(SMM)
Cloudera在2019年9月18日正式对外宣布发布Cloudera Stream Processing(CSP)2.0,参考《Cloudera Streams Management正式GA》。Cloudera Stream Processing (CSP)提供了高级消息传递,流处理和流分析功能,这些功能由Apache Kafka作为核心流处理引擎提供支持。它同时为Kafka添加了两个流管理功能,Kafka监控和Kafka数据复制。Streams Messaging Manager(SMM)为Kafka集群提供了一个监控仪表板。Streams Replication Manager(SRM)为企业提供了实现跨集群Kafka topic复制的能力。
Fayson
2019/11/09
1.8K0
0726-6.3.0-如何在CDH6.3中安装Streams Messaging Manager(SMM)
0623-6.2.0-如何在CDH中安装CFM
2019年4月15日,Cloudera在其官网宣布GA两款新的产品Cloudera Flow Management和Cloudera Edge Management,即CFM和CEM。Flow Management和Edge Management以前都是隶属于HDP的相关产品,Cloudera此次官宣代表的是它们现在可以与CDH一起安装并使用,包括使用Cloudera Manager进行简易的Parcel安装和服务监控。HDP和CDH合并后,对于CDH的客户也一直期待HDP的一些优秀特性能早点融合到CDH中,CEM和CFM就是一次开始,它们为IOT场景的边缘管理和边缘数据搜集带来了可能。具体参考《0603-Cloudera Flow Management和Cloudera Edge Management正式发布》。
Fayson
2019/05/15
2.4K0
0623-6.2.0-如何在CDH中安装CFM
如何使用StreamSets实现MySQL中变化数据实时写入HBase
温馨提示:要看高清无码套图,请使用手机打开并单击图片放大查看。 Fayson的github: https://github.com/fayson/cdhproject 提示:代码块部分可以左右滑动查看噢 1.文档编写目的 ---- 在前面Fayson介绍了《如何在CDH中安装和使用StreamSets》、《如何使用StreamSets从MySQL增量更新数据到Hive》以及《如何使用StreamSets实现MySQL中变化数据实时写入Kudu》,本篇文章Fayson主要介绍如何使用StreamSets实现M
Fayson
2018/07/11
4.9K2
0600-6.1.0-如何在CDH6.1中安装CDSW1.5
Cloudera在2019年1月29日发布CDSW1.5,CDSW1.5的一个最大的更新就是支持CDH6和HDP,在1.5之前,CDSW是不能安装到CDH6.x的。CDH5.13版本以后支持CDSW的Parcel安装,本篇文章Fayson就主要讲述如何通过CM6.1使用Parcel包安装CDSW1.5。
Fayson
2019/04/28
2.4K0
0600-6.1.0-如何在CDH6.1中安装CDSW1.5
0586-5.16.1-如何在CDH5.16.1中安装CDSW1.5
Cloudera在2018年11月29日发布了CDH5.16.1版本,5.16.1的新功能可以参考前一篇文章《0466-CDH5.16.1和CM5.16.1的新功能》,2019年1月29日发布CDSW1.5。CDH5.13版本以后支持CDSW的Parcel安装,本篇文章Fayson就主要讲述如何通过CM5.16.1使用Parcel包安装CDSW1.5。
Fayson
2019/04/28
1.9K0
0586-5.16.1-如何在CDH5.16.1中安装CDSW1.5
0478-如何在CDH5.16.1中安装CDSW1.4.2
Cloudera在2018年11月29日发布了CDH5.16.1版本,5.16.1的新功能可以参考前一篇文章《0466-CDH5.16.1和CM5.16.1的新功能》,这一次随着CDH5.16的同时没有发布新的CDSW,比如CDSW1.5,但前一段时间就已经发布了CDSW1.4.2。CDH5.13版本以后支持CDSW的Parcel安装,本篇文章Fayson就主要讲述如何通过CM5.16使用Parcel包安装CDSW1.4.2。
Fayson
2018/12/26
2.8K0
0666-6.2.0-如何在CDH6.2.0上安装CDSW1.5
Cloudera在2019年1月29日发布CDSW1.5,CDSW1.5的一个最大的更新就是支持CDH6和HDP,在1.5之前,CDSW是不能安装到CDH6.x的。CDH5.13版本以后支持CDSW的Parcel安装,本篇文章Fayson就主要讲述如何通过CM6.2使用Parcel包安装CDSW1.5。
Fayson
2019/07/09
1.3K0
如何在Redhat7.3安装CDH5.14
Cloudera在2018年1月26日发布了CDH5.14,新功能介绍可以参考Fayson之前的文章《CDH5.14和CM5.14的新功能》。本文档主要描述如何在Redhat7.3安装CDH。Cloudera企业级数据中心的安装主要分为5个步骤:
Fayson
2018/03/29
3.6K0
如何使用StreamSets实现Oracle中变化数据实时写入Kudu
温馨提示:如果使用电脑查看图片不清晰,可以使用手机打开文章单击文中的图片放大查看高清原图。 Fayson的github: https://github.com/fayson/cdhproject 提示:代码块部分可以左右滑动查看噢 1.文档编写目的 ---- 在前面的文章Fayson介绍了关于StreamSets的一些文章,参考《如何在CDH中安装和使用StreamSets》、《如何使用StreamSets从MySQL增量更新数据到Hive》、《如何使用StreamSets实现MySQL中变化数据实时写入K
Fayson
2018/07/12
5.1K0
如何在Redhat7.4安装CDH5.15
温馨提示:如果使用电脑查看图片不清晰,可以使用手机打开文章单击文中的图片放大查看高清原图。 Fayson的github: https://github.com/fayson/cdhproject 提示:代码块部分可以左右滑动查看噢 1.文档编写目的 ---- Cloudera在2018年6月12日发布了CDH5.15,新功能介绍可以参考Fayson之前的文章《CDH5.15和CM5.15的新功能》。本文档主要描述如何在Redhat7.4安装CDH5.15。Cloudera企业级数据中心的安装主要分为5个步骤
Fayson
2018/07/12
2.2K0
如何在Kerberos环境下修改启用HA的CDH集群HOSTNAME
Fayson在前面的文章《如何修改Kerberos的CDH集群的HOSTNAME》介绍了修改集群的HOSTNAME,在文章中并未提到集群启用HA的情况,本篇文章Fayson主要介绍在Kerberos环境下启用HA的CDH集群修改HOSTNAME。
Fayson
2018/11/16
6660
如何在CDH5.14.2中安装Phoenix4.14.0
温馨提示:要看高清无码套图,请使用手机打开并单击图片放大查看。 Fayson的github: https://github.com/fayson/cdhproject 提示:代码块部分可以左右滑动查看噢 1.文档编写目的 ---- Fayson在前面的文章《Cloudera Labs中的Phoenix》,《如何在CDH中使用Phoenix》和《如何使用Phoenix在CDH的HBase中创建二级索引》中介绍了Cloudera Labs中的Phoenix,如何在CDH5.11.2中安装和使用Phoenix4.
Fayson
2018/07/12
1.4K0
如何在Redhat7.4安装CDH6.0
Cloudera在前天8月30日,对外宣布正式发布Cloudera Enterprise 6,相关介绍可以参考Fayson昨天的文章《Cloudera Enterprise 6正式发布》。本文档Fayson主要描述如何在Redhat7.4安装CDH6.0。CDH6与CDH5的安装步骤一致,主要包括以下四部分:
Fayson
2018/09/29
3.8K3
相关推荐
如何使用StreamSets从MySQL增量更新数据到Hive
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档