zoukankan      html  css  js  c++  java
  • Kafka学习笔记(六、Kafka Connect)

    目录:

    • 什么是Kafka Connect
    • Kafka Connect能干什么
    • Kafka Connect使用示例

    什么是Kafka Connect

    它是一种用于Kafka和其它系统之间(其它数据源)流式数据传输的工具,如Mysql >> Oracle,Json >> Mysql,MongoDB >> Elastic等。

    常用于报表等,因为他们都需要从多个数据源中抽取需要的数据,然后再将这些数据处理,最后存到自己的数据源中。

    ——————————————————————————————————————————————————————

    Kafka Connect功能:

    • 规范接口:规范了其它数据系统与Kafka的集成,简化了连接器的开发、部署和管理
    • 提供分布式和单机模式:上至分布式集中管理,下到开发、测试和小规模的生产部署。
    • 提供RestAPI接口:提供RestAPI管理Connector。
    • 自动的offset管理:解决了开发连接器人员最难搞的offset维护问题。
    • 可扩展性:Kafka Connect基于现有的组管理协议,可添加更多的worker来扩展Kafka Connect集群。

    Kafka Connect能干什么

    1、提升获取数据速度:当需要接受大数据,可以在几毫秒之内就拿到这些数据并开始进行处理。

    2、提供高可用的数据传输:数据管道传输数据到业务系统的过程中,其间不会出现单点故障。即便出现故障也可以自动从故障中恢复,保证数据的可靠性。

    3、提供高吞吐量管道、有效应对数据峰值:数据管道可以支持非常高的吞量,而且数据管道可以应对突发的吞吐量增长。

    4、规范接口:对开发者提供了统一的实现接口,开发、部署和管理都非常方便。

    5、提供高扩展性:使用分布式模式进行水平扩展。

    6、提供RestAPI管理Connectors:在分布式模式下可以通过Rest Api提交和管理Connectors。

    注:目前Kafka Connect已经支持绝大部分的主流数据源,如JDBC、HDFS、HBase等。

    Kafka Connect使用示例

    使用Kafka Connect之前先来了解些基本的概念:

    • Source:负责导入数据到Kafka。
    • Sink:负责从Kafka导出数据。
    • Connectors:通过管理任务来协调数据流的高级抽象。
    • Tasks:数据写入Kafka和从Kafka中读出的具体实现。
    • Workers:运行connectors和tasks的进程。
    • Converters:Kafka connect和其他存储系统直接发送或者接受数据之间转换数据。
    • Transforms:一种轻量级数据调整的工具。

    ——————————————————————————————————————————————————————

    1、单机模式

    ./connect-standalone.sh ../config/connect-file.properties ../config/connect-file-source.properties ../config/connect-file-sink.properties

    2、分布式

    • 下载相应的第三方Connect后打包编译。
    • 将jar丢到Kafka的libs目录下。
    • 启动connector。
    • 使用Rest API提交connector配置。
    ./connect-distributed.sh ../config/connect-distributed.properties

  • 相关阅读:
    Linux 工具箱—17款文件管理器
    RMAN 初学者指南
    Oracle监听器Server端与Client端配置实例
    mysqlproxy完成mysql读写分离
    linux端口映射
    MYSQL分布式集群使用主从复制
    SQL高级运用
    Redis安装与使用
    mysql cpu 负载率超过理想值,解决方案总结
    揭秘:HR是如何做背景调查的?你真的就可以隐瞒事实了吗?
  • 原文地址:https://www.cnblogs.com/bzfsdr/p/12236691.html
Copyright © 2011-2022 走看看