Kafka--04Kafka connect

Kafka Connect用于在Kafka与其他系统间数据传输的工具。Kafka connect可以获取整个数据库或从所有应用程序服务器收集指标到Kafka;也可以从Kafka中topic数据传输至其他存储或者查询系统或者批处理系统进行离线分析。

Kafka Connect功能
Kafka能用框架,提供统一的集成API
支持分布式模式(distributed)及单机模式(standalone)
REST接口,用于查看和管理Kafka connectors
自动化offset管理,开发人员不必担心错误处理的影响
分布式,可扩展
流/批处理集成

Kafka connect两个核心组成 Source和Sink。
Source:负责导入数据到Kafka;
Sink :负责从Kafka导出数据;
(如上二者都称为 connector)


Kafka connect的几个重要的概念包括:connectors、tasks、workers和converters。
Connectors-通过管理任务来细条数据流的高级抽象;
Tasks- 数据写入kafka和数据从kafka读出的实现;
Workers-运行connectors和tasks的进程;
Converters- kafka connect和其他存储系统直接发送或者接受数据之间转换数据;

distribute模式启动:
需要先建三个broker
bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 3 --partitions 1 --topic connect-configs
bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 3 --partitions 50 --topic connect-offsets
bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 3 --partitions 10 --topic connect-status
启动
bin/connect-distributed.sh config/connect-distributed.properties

通过rest api管理connector

因为kafka connect的意图是以服务的方式去运行,所以它提供了REST API去管理connectors,默认的端口是8083,你也可以在启动kafka connect之前在配置文件中添加rest.port配置。

GET /connectors – 返回所有正在运行的connector名
POST /connectors – 新建一个connector; 请求体必须是json格式并且需要包含name字段和config字段,name是connector的名字,config是json格式,必须包含你的connector的配置信息。
GET /connectors/{name} – 获取指定connetor的信息
GET /connectors/{name}/config – 获取指定connector的配置信息
PUT /connectors/{name}/config – 更新指定connector的配置信息
GET /connectors/{name}/status – 获取指定connector的状态,包括它是否在运行、停止、或者失败,如果发生错误,还会列出错误的具体信息。
GET /connectors/{name}/tasks – 获取指定connector正在运行的task。
GET /connectors/{name}/tasks/{taskid}/status – 获取指定connector的task的状态信息
PUT /connectors/{name}/pause – 暂停connector和它的task,停止数据处理知道它被恢复。
PUT /connectors/{name}/resume – 恢复一个被暂停的connector
POST /connectors/{name}/restart – 重启一个connector,尤其是在一个connector运行失败的情况下比较常用
POST /connectors/{name}/tasks/{taskId}/restart – 重启一个task,一般是因为它运行失败才这样做。
DELETE /connectors/{name} – 删除一个connector,停止它的所有task并删除配置。

#standalone模式启动
 bin/connect-standalone.sh config/connect-standalone.properties config/connector1.properties
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,508评论 19 139
  • 版权声明:本文为博主原创文章,未经博主允许不得转载 本文是基于hadoop 2.7.1,以及kafka 0.11....
    大数据_zzzzMing阅读 10,067评论 5 5
  • 今晚老公在青岛,下班后6点十几分刚进门,大宝说,妈妈,你可回来了,我们终于可以吃饭了,你不回来,奶奶不让吃饭...
    轩萌妈阅读 1,079评论 0 0
  • 个人主页 主要由两部分,左侧是基本信息区域,右侧是文章列表区域 基本信息区域 在基本信息包含以下内容:修改和查看个...
    冰美式乌龙阅读 1,937评论 0 1
  • (稻盛哲学学习会)打卡第20天 姓名:柳琳 部门:开发部 组别:待定 【知~学习】 阅读《活法》第二章节 【内容感...
    木木_be35阅读 760评论 0 0