StreamSets数据操作平台(数据移动及数据清洗强大工具)

 前言:最近在公司接到一个业务:将MySQL的数据实时同步到HBase中,刚接手的时候一脸蒙,在不断的探索中,也发现其实这条线真的很好走,因为有很多方案可以选择。一下就是其中一种,后面我也会分享更多其他相关的方案,供大家参考。这种方式我自己尝试了,并没有使用在真正的开发中,因为我们需要实时获取到增删改的时间 ,并将这个时间写入HBase,作为数据分析的参考。

1、支持多种安装方式

1.1、核心安装包(Core Tarball

该安装包包含核心的SDC软件,使该软件具有最小的软件连接器集合,当然你可以手动下载额外的节点(Stage

通过StreamsetsUI进行安装,UI上点击的位置为:在该软件界面的右边(图标是一个礼物盒子。。。)。

也可以通过使用CLI进行安装,安装过程如下所示:

1、下载该【核心安装包】,比如版本为:streamsets-datacollector-core-3.0.2.0.tgz

2、解压该安装包

[html] view plain copy
  1. $tar xvzf streamsets-datacollector-core-3.0.2.0.tgz  

3、列出所有的可下载的所有节点Stage库,可通过如下命令:

[html] view plain copy
  1. $./bin/streamsets stagelibs -list  

4、通过CLI安装所需要的节点库,通过如下命令:

[html] view plain copy
  1. $ ./bin/streamsets stagelibs -install=<stageid1>,<stageid2>  

1.2、Cloudera安装包(Cloudera Parcel

Cloudera版本安装过程如下所示:

1、CSD拷贝到一个目录中,命令如下:

[html] view plain copy
  1. $ mv STREAMSETS-3.0.2.0.jar /opt/cloudera/csd/  

2、修改文件的权限,命令如下:

[html] view plain copy
  1. $ sudo chown cloudera-scm:cloudera-scm STREAMSETS-3.0.2.0.jar && sudo chmod 644 STREAMSETS-3.0.2.0.jar  

3、重启Cloudera管理器,命令如下:

[html] view plain copy
  1. $ sudo /etc/init.d/cloudera-scm-server restart  

1.3、包含所有组件的完整安装包(Full Tarball

完整版的安装过程如下所示:

1、下载该安装包

2、解压

[html] view plain copy
  1. $ tar xvzf streamsets-datacollector-all-3.0.2.0.tgz  

3、解压之后,就可以直接启动,启动命令为:

[html] view plain copy
  1. $ streamsets-datacollector-3.0.2.0/bin/streamsets dc  

4、启动之后就可以通过浏览器查看了,默认的访问地址为:

[html] view plain copy
  1. Browse to http://<system-ip>:18630/  

5、UI界面看到之后,就可以通过该密码进行登录

用户名和密码都为:admin

1.4、完整的RPM包(FullRPM

该版本的安装过程如下:

1、选择合适的操作系统版本(如红帽的el6或者el7),然后通过如下命令进行操作

[html] view plain copy
  1. $ tar xf streamsets-datacollector-3.0.2.0-[operating system]-all-rpms.tar  
[html] view plain copy
  1. $ yum localinstall streamsets*.rpm  

2、启动该软件在el6操作系统,操作命令为:

[html] view plain copy
  1. $ service sdc start  

3、启动该软件在el7操作系统,操作命令为:

[html] view plain copy
  1. $ systemctl start sdc  

4、启动之后就可以通过浏览器查看了,默认的访问地址为:

[html] view plain copy
  1. Browse to http://<system-ip>:18630/  

5UI界面看到之后,就可以通过该密码进行登录

用户名和密码都为:admin

1.5、Docker镜像(Docker Image

Docker版本的安装过程如下所示:

1、可以使用docker的命令进行启动,命令如下:

[html] view plain copy
  1. $ docker run --restart on-failure -p 18630:18630 -d --name streamsets-dc streamsets/datacollector  

2、UI界面看到之后,就可以通过该密码进行登录

    用户名和密码都为:admin

3、最后一步进行发布就可以了,命令如下:

[html] view plain copy
  1. $ docker run --publish 18633:18633 --name edge --rm streamsets/datacollector-edge  

1.6、源码

源码地址为:http://github.com/streamsets

硬件环境要求:

Data Collector安装在满足以下最低要求的机器上。要以集群执行模式运行管道,集群中的每个节点都必须满足最低要求。

组件最小
操作系统使用以下操作系统和版本之一::
  • Mac OS X
  • CentOS 6 or 7
  • Red Hat Enterprise Linux 6 or 7
  • Ubuntu 14.04 LTS or 16.04 LTS
CPU核数2
内存1 GB
硬盘空间6 GB
文件大小32768
Java版本Oracle Java 8 or OpenJDK 8
浏览器
  • 使用一下的浏览器即可:
  • Chrome
  • Firefox
  • Safari
配置打开文件限制

数据收集器 需要大量的文件描述符才能在所有阶段正常工作。大多数操作系统提供一个配置来限制进程或用户可以打开的文件数量。默认值通常小于32768个文件描述符的Data Collector 要求。
使用以下命令验证当前用户的配置限制:
[html] view plain copy
  1. ulimit -n  
大多数操作系统使用两种方式配置打开文件的最大数量 - 软限制和硬限制。硬限制由系统管理员设置。软限制可以由用户设置,但只能达到硬限制。
增加每个操作系统的打开文件限制是不同的。请查阅您的操作系统文档以获取首选方法。
增加Linux上的限制

要增加Linux上的打开文件限制,请参阅以下解决方案:如何设置ulimit值。
这个解决方案应该可以在Red Hat Enterprise Linux,CentOS和Ubuntu上运行。但是,请参阅您的操作系统的管理员文档以获取首选方法。
增加Mac OS上的限制

您用于增加Mac OS上限的方法可能因每个版本而异。
要增加计算机的限制 - 以便在重新启动终端并重新启动计算机后保留限制 - 创建属性列表文件。以下步骤适用于Mac OS Yosemite,El Capitan和Sierra:

使用以下命令创建一个名为的属性列表文件 limit.maxfiles.plist:

[html] view plain copy
  1. sudo vim /Library/LaunchDaemons/limit.maxfiles.plist  
将以下内容添加到文件中,修改 MAXFILES 属性根据需要。
maxfiles属性定义了打开的文件限制。文件中的第一个值是软限制。第二个值是硬限制。

例如,在下面 limit.maxfiles.plist文件,软限制和硬限制均设置为32,768:

[html] view plain copy
  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">  
  3. <plist version="1.0">  
  4.   <dict>  
  5.     <key>Label</key>  
  6.     <string>limit.maxfiles</string>  
  7.     <key>ProgramArguments</key>  
  8.     <array>  
  9.       <string>launchctl</string>  
  10.       <string>limit</string>  
  11.       <string>maxfiles</string>  
  12.       <string>32768</string>  
  13.       <string>32768</string>  
  14.     </array>  
  15.     <key>RunAtLoad</key>  
  16.     <true/>  
  17.     <key>ServiceIPC</key>  
  18.     <false/>  
  19.   </dict>  
  20. </plist>  


使用以下命令加载新的设置:
[html] view plain copy
  1. sudo launchctl unload -w /Library/LaunchDaemons/limit.maxfiles.plist  
  2. sudo launchctl load -w /Library/LaunchDaemons/limit.maxfiles.plist  

使用以下命令检查是否修改了系统限制:

launchctl限制maxfiles
使用以下命令来设置会话限制:
[html] view plain copy
  1. ulimit -n 32768  

注:可以选择其中的一种方式安装即可。

2、Streamsets运行平台

Streamsets运行在LinuxMac OS X 平台中,暂时不支持Windows版本

3、Streamsets的特征

1、通过使用streamsets可以在几分钟内构建批处理流程

2、构建稳健的数据流管道

3、智能,自我修复的数据流管道

3.1拖放连接器用于批量和流式源和目标。

3.2最小的模式规范加速了开发。

3.3、智能传感器自动检测和纠正数据漂移检测。

4、消费数据的轻量级转换

4.1、在管道(pipeline)中的任何点上转换数据。

4.2、利用几十个内置的处理器或设计自己的。

4.3、在需要时触发自定义代码。

4.4、识别并处理个人数据/ PII到达。

5、智能监测和错误检测

5.1、通过内置的测量和监测确保持续的数据传输。

5.2精细的度量标准来查明问题。

5.3设置错误情况的触发器和警报。

5.4在管道的任何一点进行特别的数据反思。

6、严格的数据流操作

6.1、即使面对不断变化的持续集成和部署。

6.2、性能警报和管道快照可简化故障排除。

6.3、升级底层系统时零停机。

6.4、在群集中,跨多个云甚至在边缘设备上(使用SDC Edge)部署和管理任何地方。

4、应用场景-常见用例

4.1、用例一:

Apache Kafka 使用StreamSets,您可以将应用程序连接到Kafka而无需编写一行代码!

4.2、用例二:

Hadoop摄取 StreamSets可以让您轻松连续地将数据提取到Hadoop和周围的生态系统中。

4.3、用例三:

云迁移  将数据迁移到云服务提供商(包括亚马逊,微软和谷歌)。

4.4、用例四:

搜索启用  StreamSets使得用任何来源的数据填充选择的搜索解决方案变得非常容易。


转自:https://blog.csdn.net/superzyl/article/details/79108616 (尊重原创,感谢涛哥这段时间的帮助)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值