微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Flume kafka source 基于分区指定key

如何解决Flume kafka source 基于分区指定key

我正在尝试从 Kafka 中提取数据,然后使用水槽将其发送到另一个 Kafka 集群。我知道镜像制造商或融合复制器是更好的方法,但由于某些原因,我必须使用水槽来做到这一点。

使用flume,我可以使用Kafka source 和Kafka sink 来做到这一点。我也成功地完成了那部分。唯一的问题是在该过程中没有维护每个分区的消息排序。消息最终位于 sink 集群的不同分区中,并且不保持任何特定顺序。

我知道flume kafkaSink中有一个分区键选项,可以用来根据键生成消息到特定分区。

Kafka 接收器使用 FlumeEvent 中的主题和关键属性 headers 来确定在 Kafka 中发送事件的位置。如果标题 包含主题属性,该事件被发送到指定的 主题,覆盖配置的主题。如果标题包含密钥 属性,该键用于对主题内的事件进行分区。 具有相同键的事件被发送到同一个分区。如果钥匙 未指定参数,事件随机分布到 分区。使用这些属性来控制主题和分区 事件通过 Flume 源或拦截器发送到哪些。

Source

但是,我还没有找到任何方法来根据水槽中 Kafka Source 的分区分配键。

是否有可能做到这一点? 如果可能的话,任何前进的道路都会非常有帮助。

谢谢。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。