用例
使用 Apache Storm 将 Kafka 消息持久化到 S3
到目前为止的故事
- 我尝试使用 secor(https://github.com/pinterest/secor),工作正常,达到目的。但是对于经理来说,这可能是一种维护过度的行为(正如他们所说的那样,他总是对的)
- 我们已经有 Apache Kafka-Apache Storm 稳定集群,因此计划利用该基础设施。
议程和问题
来自 Kafka 的消息将在 Storm bolt 中进行批处理,并以文件的形式写入本地磁盘
在一定的时间间隔和/或大小标准之后,它将被上传到 S3
为了管理故障,每个螺栓应该能够跟踪 Kafka 分区并在理想情况下每个元组偏移,因为螺栓将随机分布在整个集群中。
Partition / Offsets 可以持久化到 Zookeeper,但首先如何从 Tuple 中获取它们?除了将它们转发到 Kafka Spout 之外,还有其他方法吗?