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分鐘,至少節點在重新分配前死亡會發生。 –