0
在执行作业之前将分区发送到节点并且节点崩溃时,会发生什么情况?如果一个新节点被引入到群集中,检测到新机器添加的实体是什么?新机器是否分配了未经处理的分区?群集中的节点失败时的Apache Spark行为。
在执行作业之前将分区发送到节点并且节点崩溃时,会发生什么情况?如果一个新节点被引入到群集中,检测到新机器添加的实体是什么?新机器是否分配了未经处理的分区?群集中的节点失败时的Apache Spark行为。
如果主人在过去的60秒内未收到心跳消息(根据spark.worker.timeout),则认为该工人失败。在这种情况下,分区被分配给另一名工作人员(记住,分区RDD即使丢失也可以重建)。
对于新节点是否引入群集的问题?一旦从机启动,spark-master将不会检测到群集中的新节点,因为在应用程序提交群集之前,sbin/start-master.sh
启动主机,sbin/start-slaves.sh
读取spark-master中的conf/slaves
文件(包含所有从机的IP地址)并在每台指定的机器上启动一个从机实例。 spark-master在启动后不会读这个配置文件。所以一旦所有的从站启动,就不可能添加新的节点。
感谢您对Arnav的回应。 –
快速跟进qs。如果只有在Worker上,并且它在处理分区的过程中崩溃,Spark是否会失败整个作业?因为,现在没有工人重新分配该分区。 –
我找不到'spark.worker.timeout'配置。相反,我发现'spark.akka.heartbeat.interval(1000sec)','spark.akka.timeout(100sec)','spark.network.timeout(120sec)'听起来像至少需要2分钟,至少节点在重新分配前死亡会发生。 –