Apache spark 集群中的节点发生故障时的Apache Spark行为。

Apache spark 集群中的节点发生故障时的Apache Spark行为。,apache-spark,Apache Spark,当一个分区被发送到一个节点,而该节点在执行作业之前崩溃时,会发生什么行为?如果集群中引入了一个新节点,那么检测到新机器添加的实体是什么?新机器是否被分配了未被处理的分区?如果在过去60秒内没有收到心跳消息(根据spark.worker.timeout),则主机会认为工作进程失败。在这种情况下,分区被分配给另一个工作进程(记住,分区的RDD即使丢失也可以重建) 对于是否将新节点引入集群的问题?一旦从机启动,spark master将不会检测到集群中添加的新节点,因为在集群中提交应用程序之前,sbi

当一个分区被发送到一个节点,而该节点在执行作业之前崩溃时,会发生什么行为?如果集群中引入了一个新节点,那么检测到新机器添加的实体是什么?新机器是否被分配了未被处理的分区?

如果在过去60秒内没有收到心跳消息(根据spark.worker.timeout),则主机会认为工作进程失败。在这种情况下,分区被分配给另一个工作进程(记住,分区的RDD即使丢失也可以重建)


对于是否将新节点引入集群的问题?一旦从机启动,spark master将不会检测到集群中添加的新节点,因为在集群中提交应用程序之前,
sbin/start master.sh
启动主机和
sbin/start slaves.sh
读取
conf/slaves
文件(包含所有从机的IP地址)在spark主计算机中,并在指定的每台计算机上启动一个从属实例。spark master在启动后不会读取此配置文件。因此,一旦所有从属服务器启动,就不可能添加新节点

感谢Arnav的回复。快速跟进qs。如果只有一个工人在处理一个分区的过程中崩溃,那么整个工作将会被触发吗?因为,现在它没有可重新分配该分区的工作进程。我找不到
spark.Worker.timeout
config。相反,我发现
spark.akka.heartbeat.interval(1000秒)
spark.akka.timeout(100秒)
spark.network.timeout(120秒)
听上去,当一个节点死亡时,在重新分配之前至少需要2分钟。您能提供此信息的来源吗?