kafka connector
2016-05-31 18:51
357 查看
转载+修改 来自: http://colobu.com/2016/02/24/kafka-connect/
Kafka 0.9+增加了一个新的特性 Kafka Connect ,可以更方便的创建和管理数据流管道。它为Kafka和其它系统创建规模可扩展的、可信赖的流数据提供了一个简单的模型,通过 connectors 可以将大数据从其它系统导入到Kafka中,也可以从Kafka中导出到其它系统。Kafka
Connect可以将完整的数据库注入到Kafka的Topic中,或者将服务器的系统监控指标注入到Kafka,然后像正常的Kafka流处理机制一样进行数据流处理。而导出工作则是将数据从Kafka Topic中导出到其它数据存储系统、查询系统或者离线分析系统等,比如数据库、 Elastic
Search 、Apache Ignite 等。
Kafka Connect特性包括:
Kafka connector通用框架,提供统一的集成API
同时支持分布式模式和单机模式
REST 接口,用来查看和管理Kafka connectors
自动化的offset管理,开发人员不必担心错误处理的影响
分布式、可扩展
流/批处理集成
![](http://static.open-ope<br/>4000<br/>n.com/lib/uploadImg/20160224/20160224154902_420.png)
基于Kafka, LinkedIn等一些大公司已经建立起架构类似的、可扩展的流数据平台。它包含两个功能,数据集成和流处理。Kafka Connect则是为数据集成而生。
![](http://static.open-open.com/lib/uploadImg/20160224/20160224154902_194.png)
多年来,Kafka已经成为处理大数据流的平台标准, 成千上万的公司在使用它 。程序员在构建它们的平台的时候也遇到一些问题:
Schema管理
容错
并行化
数据延迟
分发担保
运营与监控
这些棘手的问题都要程序员去处理,如果有一个统一的框架去完成这些事情,将可以大大减少程序员的工作量,因此Kafka 0.9中提供了这一特性,负责处理这些问题。
![](http://cdn2.hubspot.net/hub/540072/hubfs/blog-files/Kafka_and_the_age_of_streaming_data_integration/Kafka_and_the_age_of_streaming_data_integration_image_kafka_connect.png?t=1455819300250&width=580&height=435)
Kafka背后的公司confluent鼓励社区创建更多的开源的connector,将Kafka生态圈壮大起来,促进Kafka Connnect的应用。
Kafka Connnect有两个核心概念:Source和Sink。 Source负责导入数据到Kafka,Sink负责从Kafka导出数据,它们都被称为Connector。
在这里原作没有提出一个核心的观点,也就是数据仓库转移(ETL)。
Kafka Connect is a tool for scalably and reliably streaming data
between Apache Kafka and other systems. It makes it simple to quickly define connectors that
move large collections of data into and out of Kafka. Kafka Connect can ingest entire databases or collect metrics from all your application servers into Kafka topics, making the data available for stream processing with low latency. An export job can deliver
data from Kafka topics into secondary storage and query systems or into batch systems for offline analysis. Kafka Connect features include:
另外,现在有些公司提供了更为细度的集群管理。 以往,我们consumer 的所有group都是有zookeeper 来控制,那么完全不相干的group之间的其中一个consumer有一些变化,整个consumer集群变回由zookeeper来进行re-balance。现如今更细度的管理,使用kafka connect可以仅对某一个group中的consumer进行re-balance。
(此处 关于是针对所有consumer来进行re-balance还是group内 可以依据项目 来定)
![](http://cdn2.hubspot.net/hub/540072/hubfs/blog-files/Kafka_and_the_age_of_streaming_data_integration/Kafka_and_the_age_of_streaming_data_integration_image_sources_sinks.png?t=1455819300250&width=580&height=435)
当前Kafka Connect支持两种分发担保:at least once (至少一次) 和 at most once(至多一次),exactly once将在未来支持。
当前已有的Connectors包括:
Connectors的发布和开发可以参照 官方文档 。如果以前你通过producer
API/consumer API写了一些导入导出的功能,不妨尝试一下换成Kafka Connect,看看是否简化了你的代码,提高了应用可扩展和容错的能力。
以下部分为个人原创
Kafka 0.9+增加了一个新的特性 Kafka Connect ,可以更方便的创建和管理数据流管道。它为Kafka和其它系统创建规模可扩展的、可信赖的流数据提供了一个简单的模型,通过 connectors 可以将大数据从其它系统导入到Kafka中,也可以从Kafka中导出到其它系统。Kafka
Connect可以将完整的数据库注入到Kafka的Topic中,或者将服务器的系统监控指标注入到Kafka,然后像正常的Kafka流处理机制一样进行数据流处理。而导出工作则是将数据从Kafka Topic中导出到其它数据存储系统、查询系统或者离线分析系统等,比如数据库、 Elastic
Search 、Apache Ignite 等。
Kafka Connect特性包括:
Kafka connector通用框架,提供统一的集成API
同时支持分布式模式和单机模式
REST 接口,用来查看和管理Kafka connectors
自动化的offset管理,开发人员不必担心错误处理的影响
分布式、可扩展
流/批处理集成
流数据平台
![](http://static.open-ope<br/>4000<br/>n.com/lib/uploadImg/20160224/20160224154902_420.png)
基于Kafka, LinkedIn等一些大公司已经建立起架构类似的、可扩展的流数据平台。它包含两个功能,数据集成和流处理。Kafka Connect则是为数据集成而生。
![](http://static.open-open.com/lib/uploadImg/20160224/20160224154902_194.png)
多年来,Kafka已经成为处理大数据流的平台标准, 成千上万的公司在使用它 。程序员在构建它们的平台的时候也遇到一些问题:
Schema管理
容错
并行化
数据延迟
分发担保
运营与监控
这些棘手的问题都要程序员去处理,如果有一个统一的框架去完成这些事情,将可以大大减少程序员的工作量,因此Kafka 0.9中提供了这一特性,负责处理这些问题。
![](http://cdn2.hubspot.net/hub/540072/hubfs/blog-files/Kafka_and_the_age_of_streaming_data_integration/Kafka_and_the_age_of_streaming_data_integration_image_kafka_connect.png?t=1455819300250&width=580&height=435)
Kafka背后的公司confluent鼓励社区创建更多的开源的connector,将Kafka生态圈壮大起来,促进Kafka Connnect的应用。
Kafka Connnect有两个核心概念:Source和Sink。 Source负责导入数据到Kafka,Sink负责从Kafka导出数据,它们都被称为Connector。
在这里原作没有提出一个核心的观点,也就是数据仓库转移(ETL)。
Kafka Connect is a tool for scalably and reliably streaming data
between Apache Kafka and other systems. It makes it simple to quickly define connectors that
move large collections of data into and out of Kafka. Kafka Connect can ingest entire databases or collect metrics from all your application servers into Kafka topics, making the data available for stream processing with low latency. An export job can deliver
data from Kafka topics into secondary storage and query systems or into batch systems for offline analysis. Kafka Connect features include:
另外,现在有些公司提供了更为细度的集群管理。 以往,我们consumer 的所有group都是有zookeeper 来控制,那么完全不相干的group之间的其中一个consumer有一些变化,整个consumer集群变回由zookeeper来进行re-balance。现如今更细度的管理,使用kafka connect可以仅对某一个group中的consumer进行re-balance。
(此处 关于是针对所有consumer来进行re-balance还是group内 可以依据项目 来定)
![](http://cdn2.hubspot.net/hub/540072/hubfs/blog-files/Kafka_and_the_age_of_streaming_data_integration/Kafka_and_the_age_of_streaming_data_integration_image_sources_sinks.png?t=1455819300250&width=580&height=435)
当前Kafka Connect支持两种分发担保:at least once (至少一次) 和 at most once(至多一次),exactly once将在未来支持。
当前已有的Connectors包括:
Connector Name | Owner | Status |
HDFS | confluent-platform@googlegroups.com | Confluent supported |
JDBC | confluent-platform@googlegroups.com | Confluent supported |
Debezium - CDC Sources | debezium@gmail.com | Community project |
MongoDB Source | a.patelli@reply.de a.topchyan@reply.de | In progress |
MQTT Source | tomasz.pietrzak@evok.ly | Community project |
MySQL Binlog Source | wushujames@gmail.com | In progress |
Twitter Source | rollulus@xs4all.nl | In progress |
Cassandra Sink | Cassandra Sink | Community project |
Elastic Search Sink | ksenji@gmail.com | Community project |
Elastic Search Sink | hannes.stockner@gmail.com | In progress |
Elastic Search Sink | a.patelli@reply.de a.topchyan@reply.de | In progress |
Apache Ignite Sink | Apache Ignite Project | Community project (Planned for Apache Ignite 1.6 Release) |
API/consumer API写了一些导入导出的功能,不妨尝试一下换成Kafka Connect,看看是否简化了你的代码,提高了应用可扩展和容错的能力。
以下部分为个人原创
相关文章推荐
- AsyncTask和Handler两种异步方式的实现和区别比较
- 对象的持久化
- 虚函数 以及dynamic_cast static_cast
- 【BZOJ1710】[Usaco2007 Open]Cheappal 廉价回文【区间DP】
- adb push permission denied解决办法
- 求教 INSERT INTO SELECT FROM 这语句怎么用具体的实例 谢谢了
- Oracle存储过程基本语法介绍
- 两只鼹鼠
- 图的最小生成树之Prim算法
- iOS 用UIWindow实现一个悬浮按钮或者全屏覆盖效果
- 《道德经》之项目管理
- suse 安装cloud-init
- EF模式下 多表关联查询结果作为数据源 gridview无法编辑的问题解决思路
- EF模式下 多表关联查询结果作为数据源 gridview无法编辑的问题解决思路
- 1-碎碎记
- C语言程序设计感想
- 20160531 Flex布局
- python 与时间有关的操作
- codis 新版本 CodisLabs 编译安装
- RabbitMQ 消息队列 配置