1

当Worker创建Executor的时候,会启动一个线程来创建这个Executor,并且等待获取Executor进程的退出状态。
image.png
如果Executor异常退出,这个线程就会知道,然后就会发信息告知Worker。
image.png
Worker收到消息后,就会把这个消息转发给Master。这个消息会携带Application的ID和Executor的ID。
image.png
Master收到消息后,就会根据Application的ID和Executor的ID找到Master内存中Application和Executor信息,并告知Application。
image.png
然后把ApplicationInfo中对应的Executor以及WorkerInfo对应的Executor移除掉。
ApplicationInfo移除Executor时,会记录被移除的Executor,把Executor从executors中移除,并且把申请到的CPU资源扣减回去。
WorkerInfo移除Executor时,会把Executor占用的CPU、内存资源扣减回去。
由于Executor已经退出,以及Master保存的申请的资源也还原,所以Master会重新给Application进行资源调度


大军
847 声望183 粉丝

学而不思则罔,思而不学则殆