概述
官网:https://streamsets.com/
Streamsets是一款大数据实时采集和ETL工具,可以实现不写一行代码完成数据的采集和流转。通过拖拽式的可视化界面,实现数据管道(Pipelines)的设计和定时任务调度。最大的特点有:
- 可视化界面操作,不写代码完成数据的采集和流转
- 内置监控,可是实时查看数据流传输的基本信息和数据的质量
- 强大的整合力,对现有常用组件全力支持,包括50种数据源、44种数据操作、46种目的地。
对于Streamsets来说,最重要的概念就是数据源(Origins)、操作(Processors)、目的地(Destinations)。创建一个Pipelines管道配置也基本是这三个方面。
常见的Origins有Kafka、HTTP、UDP、JDBC、HDFS等;Processors可以实现对每个字段的过滤、更改、编码、聚合等操作;Destinations跟Origins差不多,可以写入Kafka、Flume、JDBC、HDFS、Redis等。
部署:
部署要求:
centos7+
JDK1.8+
首先到StreamSets官网提供的下载址:https://archives.streamsets.com/index.html
官方提供核心包下载,完整包下载及docker安装 等多种下载方式.完整包大小约4G+,包含所支持的所有组件.多数用不到,所以不推荐下载完整包.一般下载核心包 Core SDC Tarball 即可.
准备工作:
首先先创建一部分备用文件夹 ,用来测试.生产服务器根据需求指定文件路径.
将tar包上传至服务器,(将tar包放入opt或其他文件夹),
解压tar包 :# tar xvzf streamsets-datacollector-core-***.tgz
进入bin文件夹 :# cd streamsets-datacollector-***/bin/
执行命令:# https://blog.csdn.net/weixin_39751327/article/details/streamsets dc
有可能会报错 :
Java 1.8 detected; adding $SDC_JAVA8_OPTS of "-XX:+UseConcMarkSweepGC -XX:+UseParNewGC -Djdk.nio.maxCachedBufferSize=262144" to $SDC_JAVA_OPTS
Configuration of maximum open file limit is too low: 1024 (expected at least 32768). Please consult https://goo.gl/6dmjXd
如果在运行的时候遇到上面的报错,修改操作系统的 open files 限制数量即可。
命令 #vi /etc/security/limits.conf
在 # End of file结束语上方 添加两行内容:
* soft nofile 102400
* hard nofile 102400
保存退出.然后重启机器reboot.
运行 'ulimit -n' 既可以看到 open files 设置值已生效。
部署完成!
操作:
进入StreamSets主页,默认帐号密码 admin
首先查看是否存在JDBC组件,mysql日志记录组件,进入包管理器
进入项目目录下,
进入 streamsets-libs 文件夹 # cd streamsets-libs
然后删除刚刚安装失败的组件包# rm -rf streamsets-datacollector-********
然后重新安装即可
安装完成后重启即可,再次进入包管理器即可看到组件已安装.即可进行pipelines管道流配置,
在右侧选择你要使用的组件,单击,即可出现在左侧画布上,
然后对接收组件进行配置.
点击'眼睛'预览配置即可进行逐步测试,此功能类似Debug,将会逐个节点进行测试,更容易调试,进入后即可看到数据源读取的数据内容并操作.