【问题标题】:How to send key, value messages with flume to a kafka producer如何使用 Flume 向 kafka 生产者发送键、值消息
【发布时间】:2020-08-20 21:20:05
【问题描述】:

在控制台中,您添加生产者属性--property "parse.key=true" --property "key.separator=:" 以将键值数据生成到Kafka,但是如何使用flume 执行此操作?我尝试添加

a1.sinks.k1.producer.parse.key=true 
a1.sinks.k1.producer.key.separator=:

在 .conf 文件中但无济于事,kafka 将密钥视为字符串。

【问题讨论】:

    标签: apache-kafka flume


    【解决方案1】:

    这些是控制台生产者 CLI 参数,而不是 Kafka 的 ProducerConfig 属性(传递给 Flume)

    key 总是一个字符串,但是你通过 Flume 记录的 headers 传递它

    https://github.com/apache/flume/blob/trunk/flume-ng-sinks/flume-ng-kafka-sink/src/main/java/org/apache/flume/sink/kafka/KafkaSink.java#L193

    【讨论】:

    • 这样就可以了,谢谢。对于其他人来说,这样做的方法是在拦截器中为事件添加一个标头,在标头中放置一个像“key”、“key_something_something”这样的hashMap。
    猜你喜欢
    • 2020-09-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-10-03
    • 1970-01-01
    • 1970-01-01
    • 2020-07-25
    相关资源
    最近更新 更多