Kafka Connect简介

标签: Kafka 大数据 | 发表时间:2016-02-24 13:53 | 作者:
出处:http://colobu.com/

Kafka 0.9+增加了一个新的特性 Kafka Connect,可以更方便的创建和管理数据流管道。它为Kafka和其它系统创建规模可扩展的、可信赖的流数据提供了一个简单的模型,通过 connectors可以将大数据从其它系统导入到Kafka中,也可以从Kafka中导出到其它系统。Kafka Connect可以将完整的数据库注入到Kafka的Topic中,或者将服务器的系统监控指标注入到Kafka,然后像正常的Kafka流处理机制一样进行数据流处理。而导出工作则是将数据从Kafka Topic中导出到其它数据存储系统、查询系统或者离线分析系统等,比如数据库、 Elastic SearchApache Ignite等。

Kafka Connect特性包括:

  • Kafka connector通用框架,提供统一的集成API
  • 同时支持分布式模式和单机模式
  • REST 接口,用来查看和管理Kafka connectors
  • 自动化的offset管理,开发人员不必担心错误处理的影响
  • 分布式、可扩展
  • 流/批处理集成

流数据平台

基于Kafka, LinkedIn等一些大公司已经建立起架构类似的、可扩展的流数据平台。它包含两个功能,数据集成和流处理。
Kafka Connect则是为数据集成而生。

多年来,Kafka已经成为处理大数据流的平台标准, 成千上万的公司在使用它。程序员在构建它们的平台的时候也遇到一些问题:

  • Schema管理
  • 容错
  • 并行化
  • 数据延迟
  • 分发担保
  • 运营与监控

这些棘手的问题都要程序员去处理,如果有一个统一的框架去完成这些事情,将可以大大减少程序员的工作量,因此Kafka 0.9中提供了这一特性,负责处理这些问题。

Kafka背后的公司confluent鼓励社区创建更多的开源的connector,将Kafka生态圈壮大起来,促进Kafka Connnect的应用。

Kafka Connnect有两个核心概念:Source和Sink。 Source负责导入数据到Kafka,Sink负责从Kafka导出数据,它们都被称为Connector。

当前Kafka Connect支持两种分发担保:at least once (至少一次) 和 at most once(至多一次),exactly once将在未来支持。

当前已有的Connectors包括:

Connector Name Owner Status
  HDFS [email protected] Confluent supported
JDBC [email protected] Confluent supported
Debezium - CDC Sources [email protected] Community project  
  MongoDB Source   [email protected]
  [email protected]
In progress 
  MQTT Source [email protected] Community project 
  MySQL Binlog Source [email protected] In progress 
Twitter Source   [email protected] In progress  
  Cassandra Sink   Cassandra Sink  Community project 
Elastic Search Sink [email protected] Community project
Elastic Search Sink [email protected] In progress
Elastic Search Sink [email protected]
  [email protected]
In progress 
Apache Ignite Sink Apache Ignite Project

Community project

(Planned for Apache Ignite 1.6 Release)

Connectors的发布和开发可以参照 官方文档。如果以前你通过producer API/consumer API写了一些导入导出的功能,不妨尝试一下换成Kafka Connect,看看是否简化了你的代码,提高了应用可扩展和容错的能力。

参考文档

  1. http://www.confluent.io/blog/announcing-kafka-connect-building-large-scale-low-latency-data-pipelines
  2. http://www.confluent.io/developers/connectors
  3. http://kafka.apache.org/documentation.html#connect
转载请注明文章来源:

相关 [kafka connect 简介] 推荐:

Kafka Connect简介

- - 鸟窝
Kafka 0.9+增加了一个新的特性 Kafka Connect,可以更方便的创建和管理数据流管道. 它为Kafka和其它系统创建规模可扩展的、可信赖的流数据提供了一个简单的模型,通过 connectors可以将大数据从其它系统导入到Kafka中,也可以从Kafka中导出到其它系统. Kafka Connect可以将完整的数据库注入到Kafka的Topic中,或者将服务器的系统监控指标注入到Kafka,然后像正常的Kafka流处理机制一样进行数据流处理.

开源日志系统简介——Scribe,flume,kafka,Chukwa

- - 互联网 - ITeye博客
许多公司的平台每天会产生大量的日志(一般为流式数据,如,搜索引擎的pv,查询等),处理这些日志需要特定的日志系统,一般而言,这些系统需要具有以下特征:. (1) 构建应用系统和分析系统的桥梁,并将它们之间的关联解耦;. (2) 支持近实时的在线分析系统和类似于Hadoop之类的离线分析系统;. 即:当数据量增加时,可以通过增加节点进行水平扩展.

从Google Cloud Connect说开去

- 蓝皮 - It Talks--上海魏武挥的博客
Google很早就发布了它的Office套件产品,这款称为Google Doc的产品被视为进攻微软的武器之一. 不过,按照微软最新一季度的财报数字披露来看,Doc对微软的威胁很小:Office 2010比office 2007多卖出了50%的数量. 要知道,微软的Office产品是收费的,而google的则是免费的.

高并发面试必问:分布式消息系统Kafka简介

- - ITeye博客
Kafka是分布式发布-订阅消息系统. 它最初由LinkedIn公司开发,之后成为Apache项目的一部分. Kafka是一个分布式的,可划分的,冗余备份的持久性的日志服务. 在大数据系统中,常常会碰到一个问题,整个大数据是由各个子系统组成,数据需要在各个子系统中高性能,低延迟的不停流转. 传统的企业消息系统并不是非常适合大规模的数据处理.

腾讯克隆Facebook Connect推出QQ Login

- openboy - 36氪
近日,科技博客Thenextweb撰文指出腾讯对Facebook Connect进行克隆推出了自己的QQ Login(QQ 登陆). 据悉该服务和Facebook Connect一样,允许用户通过其QQ账号就登入许多其他的第三方网站,从而避免用户需要再次注册账户的繁琐过程,而用户在第3方网站上分享的评论等也可以显示在腾讯自己的社交网络Qzone上.

[tcp] 异步connect是否成功?

- 旺旺 - 斯巴达第二季
我原先的client端代码流程如下:  . 设为异步socket(fcntl). connect到远端(此时connect调用返回非0,但errno为EINPROGRESS,表示正在建立连接中). 捕获到EPOLLOUT事件,此时便认为connect已经成功,client端开始发消息. 这个过程通常能够运转,但是线上环境复杂多变,如果发生这种情况:server进程调用listen开始侦听后,被gdb或信号挂住了,此时异步connect会怎样.

kafka监控之kafka-run-class.sh

- - 开源软件 - ITeye博客
kafka自带了很多工具类,在源码kafka.tools里可以看到:. 这些类该如何使用呢,kafka的设计者早就为我们考虑到了,在${KAFKA_HOME}/bin下,有很多的脚本,其中有一个kafka-run-class.sh,通过这个脚本,可以调用其中的tools的部分功能,如调用kafka.tools里的ConsumerOffsetChecker.scala,.

闲扯kafka mq

- - 开源软件 - ITeye博客
本文主要讲解关于kafka mq的设计思想及个人理解. 关于kafka的详细信息,大家可以参考官网的文献 http://kafka.apache.org/documentation.html这是一篇相当不错的文章,值得仔细研读. 第一个问题:消息队列(Message Queue)是干嘛用的. 首先,要对消息队列有一个基本的理解.

Kafka优化

- - ITeye博客
配置优化都是修改server.properties文件中参数值. 1.网络和io操作线程配置优化. # broker处理消息的最大线程数. # broker处理磁盘IO的线程数. 一般num.network.threads主要处理网络io,读写缓冲区数据,基本没有io等待,配置线程数量为cpu核数加1.

kafka consumer group offset

- - 开源软件 - ITeye博客
     kafka0.9及以前版本kafka offset 保存在zookeeper, 因频繁读写zookeeper性能不高;从0.10开始,主题分区offset存储于kafka独立主题中.     管理监控kafka主题及分区offset至关重要,原网上很开源流行工具KafkaOffsetMonitor、kafka-manager,旧版offset保存于zookeeper,kafka consumer无相应API,从kafka0.10.1.1以后提供相应API读取主题分区offset(也可以调用KafkaClient API,kafka管理API由scala语言编写).