Apache spark Spark流媒体和高可用性

Apache spark Spark流媒体和高可用性,apache-spark,spark-streaming,high-availability,Apache Spark,Spark Streaming,High Availability,我正在构建作用于多个流的ApacheSpark应用程序 我确实阅读了文档中的性能调整部分: 我没有得到的是: 1) 流式接收器是位于多个工作节点上还是位于驱动程序机器上 2) 如果接收数据的其中一个节点出现故障(断电/重新启动),会发生什么情况 流式接收器是位于多个工作节点上还是 驱动机 接收器位于工作节点上,工作节点负责使用保存数据的源 如果接收数据的其中一个节点出现故障(断电),会发生什么情况 关闭/重新启动) 接收器位于工作节点上。工作节点从驱动程序获取其任务。如果在客户机模式下运行,此

我正在构建作用于多个流的ApacheSpark应用程序

我确实阅读了文档中的性能调整部分:

我没有得到的是:

1) 流式接收器是位于多个工作节点上还是位于驱动程序机器上

2) 如果接收数据的其中一个节点出现故障(断电/重新启动),会发生什么情况

流式接收器是位于多个工作节点上还是 驱动机

接收器位于工作节点上,工作节点负责使用保存数据的源

如果接收数据的其中一个节点出现故障(断电),会发生什么情况 关闭/重新启动)

接收器位于工作节点上。工作节点从驱动程序获取其任务。如果在客户机模式下运行,此驱动程序可以位于专用主服务器上;如果在群集模式下运行,则此驱动程序可以位于其中一个辅助服务器上。如果某个节点发生故障,而该节点没有运行驱动程序,则驱动程序会将故障节点上保留的分区重新分配给另一个分区,然后该分区将能够从源中重新读取数据,并执行从故障中恢复所需的附加处理


这就是为什么需要Kafka或AWS Kinesis等可重放源的原因。

Ok,因此如果带接收器的工作程序将被杀死,则驱动程序将重新实例化接收器,新工作程序将再次开始接收数据-所有这些都将自动完成。这听起来很合理,但有没有记录在案?@PiotrR我想你是对的