共计 522 个字符,预计需要花费 2 分钟才能阅读完成。
如果是被动退出,那 Worker 在退出之前,这里叫 worker_1,会杀死本人每个 Executor 过程。
Executor 异样退出的流程之前曾经讲过了。
咱们在 Master 和 Worker 晓得,Worker 会定期的向 Master 发送心跳,如果 worker_1 退出,那咱们就能够心跳信息中就能够发现,超过 60 秒没有心跳的 Worker 此时可能异样退出了,所以就会把这个 worker_1 的状态改为 DEAD,并把他从缓存中移除。
从 worker_1 中获取对应的 Executor 对应的 Application,告知这些 Application,你的 Executor 不能用了。而后把 ApplicationInfo 中对应的 Executor 移除掉,ApplicationInfo 移除 Executor 时,会记录被移除的 Executor,把 Executor 从 executors 中移除,并且把申请到的 CPU 资源扣减回去。
如果 worker_1 下面有运行着 Driver,那就会把内存中的 DriverInfo 信息和长久化引擎的 DriverInfo 信息移除。
从新创立一个 Driver 信息,保留内存中,并进行长久化。
最初进行资源调度,从新在 worker 上调配 driver 和 Executor。
正文完