Spark Streaming和高可用性

3
1个回答

3
流接收器位于多个工作节点上还是驱动程序机器上?
接收器位于工作节点上,负责消费持有数据的源。
如果接收数据的其中一个节点失败(关机/重新启动),会发生什么情况?
接收器位于工作节点上。工作节点从驱动程序获取其任务。如果您在客户端模式下运行,则该驱动程序可以位于专用主服务器上;如果您在集群模式下运行,则该驱动程序可以位于其中一个工作节点上。如果失败的节点不运行驱动程序,则驱动程序将重新分配在故障节点上保存的分区到另一个节点上,该节点将能够从源重新读取数据,并进行必要的附加处理以恢复故障。这就是为什么需要可重放源,例如Kafka或AWS Kinesis的原因。

好的,如果接收数据的工作者被杀死,驱动程序将重新实例化接收器,并且新的工作者将再次开始接收数据 - 所有这些都是自动完成的。听起来很合理,但是这个过程在哪里有记录呢? - Piotr Reszke
1
@PiotrR 我认为你正在寻找这个链接:http://spark.apache.org/docs/latest/streaming-programming-guide.html#fault-tolerance-semantics - Yuval Itzchakov

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接