Spark Streaming和高可用性

时间:2016-09-15 11:54:08

标签: apache-spark spark-streaming high-availability

我正在构建支持多个流的Apache Spark应用程序。

我确实阅读了文档的性能调优部分: http://spark.apache.org/docs/latest/streaming-programming-guide.html#performance-tuning

我没有得到的是:

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

2)如果其中一个接收数据的节点发生故障(断电/重启)

,会发生什么

1 个答案:

答案 0 :(得分:3)

  

流媒体接收器是位于多个工作节点还是   司机

接收器位于 worker 节点上,这些节点负责消耗保存数据的源。

  

如果接收数据的其中一个节点发生故障(电源,会发生什么)   关闭/重启)

接收器位于工作节点上。工作节点从驱动程序获取它的任务。如果您在客户端模式下运行,则此驱动程序可以位于专用主服务器上;如果您在群集模式下运行,则该驱动程序可以位于其中一个工作服务器上。如果节点发生故障并且未运行驱动程序,则驱动程序会将故障节点上保存的分区重新分配给另一个,然后可以从源重新读取数据,并执行其他操作。处理失败所需的处理。

这就是需要像Kafka或AWS Kinesis这样的可重放源的原因。