首页 > 解决方案 > 如何通过 Flume 向 kafka 发送键值

问题描述

我可以通过 Flume 向 kafka 发送消息,但是如何向 kafka 发送键值消息?

比如我使用tailf日志文件作为源,如何发送键值消息?

# Describe/configure the source
a1.sources.r1.type = exec
a1.sources.r1.command =tail -F /apps/logs/mysql_status.log 

标签: apache-kafkaflumeflume-ng

解决方案


您必须使用 Flume 标头

Kafka Sink 使用 FlumeEvent 标头中的主题和关键属性将事件发送到 Kafka。如果标题中存在主题,则事件将发送到该特定主题,覆盖为接收器配置的主题。如果标头中存在键,则 Kafka 将使用该键在主题分区之间进行数据分区

可以使用拦截器添加标头

. http://flume.apache.org/releases/content/1.9.0/FlumeUserGuide.html#flume-interceptors


推荐阅读