驱动程序是否需要不断访问主节点?还是仅需要获取初始资源分配?如果在创建了Spark上下文之后主节点不可用会发生什么?这是否意味着应用程序将失败?
驱动程序是否需要不断访问主节点?还是仅需要获取初始资源分配?如果在创建了Spark上下文之后主节点不可用会发生什么?这是否意味着应用程序将失败?
一个主节点的故障或网络分区最严重的后果可能就是集群无法接受新应用。这就是为什么在使用默认配置的情况下,Master被认为是单点故障。
应用程序会意识到主节点的丢失,但除此之外,它们应该继续工作,基本上就像没有发生任何事情一样,并有两个重要的例外:
reregisterWithMaster
。如果这个失败多次,从节点将会放弃。此时,长时间运行的应用程序(如流处理应用)将无法继续处理,但这仍然不应导致立即失败。相反,应用程序将等待主节点重新上线(文件系统恢复)或新领导者的联系(Zookeeper模式)。如果这样做,应用程序将会继续处理。rdd.count()
将在作业完成之前不会终止)并获取其结果