最佳实践概述
场景描述
Kafka Connect可以将完整的数据库注入到Kafka的Topic中,或者将服务器的系统监控指标注入到Kafka,然后像正常的Kafka流处理机制一样进行数据流处理。而导出工作则是将数据从Kafka Topic中导出到其它数据存储系统、查询系统或者离线分析系统等。
如果您想要在流数据平台场景下,使用Kafka Connect快速实现数据从Kafka和其它系统之间进行导入导出,可以参考本实践方案。
技术架构图
暂无。
方案优势
用户可按业务需要,参考Kafka Connect数据导入导出,实现流数据的消息消费。
前提条件
需已购买Kafka实例、创建Topic,并且已成功消费消息。
资源规划
本实践方案内容仅涉及Kafka专享版实例和Flink的安装配置。
分布式消息服务
Figure 1 分布式消息服务
资源类型 | 配置项 | 配置明细 | 说明 |
---|---|---|---|
企业中间件 | DMS | Kafka专享实例 | 需已购买kafka专享实例,创建好Topic,并成功消费消息。 |
Kafka Connect流数据平台
Figure 2 Kafka Connect流数据平台
资源类型 | 配置项 | 配置明细 | 说明 |
---|---|---|---|
应用软件 | Flink框架 | Flink 1.14 | 使用开源Apache Flink |
方案正文
Kafka Connect 目前支持两种执行模式:standalone 和 distributed。
standalone模式
通过以下命令以 standalone 模式启动 connect:
接入Kafka专享版与接入开源 Apache Kafka 没有区别,仅需要修改 bootstrap.servers 为申请实例时分配的 IP。
distributed模式
通过以下命令以 distributed 模式启动 connect:
该模式下,Kafka Connect 会将 offsets、configs 和 task status 信息存储在 Kafka Topic 中,存储的Topic 在 connect-distributed 中的以下字段配置:
这三个 Topic 需要手动创建,才能保证创建的属性符合 connect 的要求。
- config.storage.topic 需要保证只有一个 partition,多副本且为 compact 模式。
- offset.storage.topic 需要有多个 partition,多副本且为 compact 模式。
- status.storage.topic 需要有多个 partition,多副本且为 compact 模式。
配置 bootstrap.servers 为申请实例是分配的 IP。
配置 group.id,用于标识 connect 集群,需要与消费者分组区分开来。