apache-kafka - 如何通过 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
解决方案
您必须使用 Flume 标头
Kafka Sink 使用 FlumeEvent 标头中的主题和关键属性将事件发送到 Kafka。如果标题中存在主题,则事件将发送到该特定主题,覆盖为接收器配置的主题。如果标头中存在键,则 Kafka 将使用该键在主题分区之间进行数据分区
可以使用拦截器添加标头
. http://flume.apache.org/releases/content/1.9.0/FlumeUserGuide.html#flume-interceptors
推荐阅读
- c# - 填充和初始化 DataTable - C#
- karma-jasmine - 测试 NgRx 6 效果
- ios - wp-bootstrap-nav walker 崩溃在 ipad 上不起作用
- android - 如果应用程序包含两个服务,这两个服务是否都在主线程上运行
- go - 如何将累加器传递给递归函数?
- python - 将地图转换为列表返回 TypeError:“int”对象不可调用
- android - 在 Fragment 上使用回收站视图时出错
- json - 在 Swift 中解析 json blob 字段
- c# - 根据第一列值从列表视图中删除重复项
- c# - 通过菜单按钮删除 RadGridView 中的行