问题导读: Gobblin的架构设计是怎样的? Gobblin拥有哪些组建,如何实现可扩展? Gobblin采集执行流程的过程? Gobblin架构图 ? 从Gobblin的架构图来看,Gobblin的功能真的是非常的全。底层支持三种部署方式,分别是standalone,mapreduce,mapreduce on yarn。 这6大组件的设计也正是Gobblin高度可扩展的原因。 Gobblin组件 Gobblin提供了6个不同的组件接口,因此易于扩展并进行定制化开发。 Gobblin使用了watermark的概念,记录每次抽取的数据的起始位置信息。 Kafka to HDFS 示例 Gobblin的官方论文上给了一个Kafka数据抽取到HDFS的示例,通过Job运行在Yarn上,Gobblin可以达到运行一个long-running,流处理的模式。
GitHub地址: https://github.com/confluentinc/kafka-connect-hdfs 5> Kafka -> Gobblin -> Hadoop Hdfs Gobblin GitHub地址: https://github.com/linkedin/gobblin 参考资料: https://www.confluent.io/blog/how-to-build-a-scalable-etl-pipeline-with-kafka-connect http://gobblin.readthedocs.io/en/latest/Getting-Started/ http://gobblin.readthedocs.io/en/latest/case-studies
在日常应用中我们比如要将各种数据采集到HDFS存储服务中去,说到将数据采集到HDFS,我们熟知的框架包括: Apache Sqoop Apache Flume Gobblin DataX Kettle Github Star 1418, Fork 1092 Gobblin Gobblin是用来整合各种数据源的通用型ETL框架,在某种意义上,各种数据都可以在这里“一站式”的解决ETL整个过程,专为大数据采集而生 Gobblin就行了。 Gobblin相对于其他解决方案具有普遍性、高度可扩展性、可操作性。 日志文件等实时采集录入则选择Flume,文件和数据库都要兼顾则选择Gobblin。后续会对这三类进行详细介绍。至于DataX可以看看其架构,设计思想非常不错。
Gobblin是用来整合各种数据源的通用型ETL框架,在某种意义上,各种数据都可以在这里“一站式”的解决ETL整个过程,专为大数据采集而生,易于操作和监控,提供流式抽取支持。 大体的架构如下: Gobblin的功能真的是非常的全。底层支持三种部署方式,分别是standalone,mapreduce,mapreduce on yarn。 这6大组件的设计也正是Gobblin高度可扩展的原因。 Gobblin组件 Gobblin提供了6个不同的组件接口,因此易于扩展并进行定制化开发。 Gobblin使用了watermark的概念,记录每次抽取的数据的起始位置信息。 Gobblin详情参考:http://www.imooc.com/article/78811 github源码:https://github.com/apache/incubator-gobblin 10
,其次databus canal、maxwell等支持将要同步的数据写入mq,后续处理方便 ETL(抽取,清洗,转换),使用source,task,sink路线,常用工具datax,logstash,gobblin
离线同步引擎概况 Sqoop:Apache Hadoop和结构化数据存储(如关系数据库)之间高效传输批量数据的工具; http://sqoop.apache.org/,Azure在使用; Apache Gobblin : 一个分布式数据集成框架,支持多种资源调度方式; https://gobblin.apache.org/ DataX:阿里开源的一个异构数据源离线同步工具; https://github.com
jobtypes下所有插件目录的azkaban-hadoopsecuritymanager-3.0.0.jar依赖包删除 [root@ip-172-31-21-83 jobtypes]# rm -rf gobblin 文章中插件的安装有关Hadoop、Pig、Hive等相关服务已进行相应的环境配置,而gobblin、teradata等插件未进行配置,可根据自己的环境进行相应的配置。
gobblin、datax、logstash、sqoop等,都是这样的工具。 它们的主要工作,就是怎么方便的定义配置文件,编写各种各样的数据源适配接口等。
gobblin、datax、logstash、sqoop等,都是这样的工具。 它们的主要工作,就是怎么方便的定义配置文件,编写各种各样的数据源适配接口等。
gobblin、datax、logstash、sqoop等,都是这样的工具。 它们的主要工作,就是怎么方便的定义配置文件,编写各种各样的数据源适配接口等。
然后,这些事件被一个 Gobblin 作业摄取到 HDFS 中,并用 Hive 脚本进行处理,用于下游消费和仪表盘。整个过程如下图所示(图 3)。
用于管理事件和日志的工具; Netflix Suro:像基于Chukwa 的Storm和Samza一样的日志聚合器; Pinterest Secor:是实现Kafka日志持久性的服务; Linkedin Gobblin
Search Service:接收处理前端的搜索请求,默认使用ES; Front-End Service:默认前端Web服务; Databuilder:通用数据集成框架,支持多种元数据采集;基于Apache Gobblin
gobblin、datax、logstash、sqoop等,都是这样的工具。 它们的主要工作,就是怎么方便的定义配置文件,编写各种各样的数据源适配接口等。
像 Gobblin 这样的摄取框架可以帮助在摄取管道的末尾聚合和规范化这些工具的输出。 在摄取过程中,通常会进行一定程度的分析,分类和标记。此过程有时称为 ETL,表示提取,转换和加载。
2、ETLPipeLine -- Gobblin ? 这个是ETL相对比较细节的一些东西。快速过一下这个图。
用于管理事件和日志的工具; Netflix Suro:像基于Chukwa 的Storm和Samza一样的日志聚合器; Pinterest Secor:是实现Kafka日志持久性的服务; Linkedin Gobblin
用于管理事件和日志的工具; Netflix Suro:像基于Chukwa 的Storm和Samza一样的日志聚合器; Pinterest Secor:是实现Kafka日志持久性的服务; Linkedin Gobblin