Spark - Executor异常退出怎么办
【Spark - Executor异常退出怎么办】当Worker创建Executor的时候,会启动一个线程来创建这个Executor,并且等待获取Executor进程的退出状态。
文章图片
如果Executor异常退出,这个线程就会知道,然后就会发信息告知Worker。
文章图片
Worker收到消息后,就会把这个消息转发给Master。这个消息会携带Application的ID和Executor的ID。
文章图片
Master收到消息后,就会根据Application的ID和Executor的ID找到Master内存中Application和Executor信息,并告知Application。
文章图片
然后把ApplicationInfo中对应的Executor以及WorkerInfo对应的Executor移除掉。
ApplicationInfo移除Executor时,会记录被移除的Executor,把Executor从executors中移除,并且把申请到的CPU资源扣减回去。
WorkerInfo移除Executor时,会把Executor占用的CPU、内存资源扣减回去。
由于Executor已经退出,以及Master保存的申请的资源也还原,所以Master会重新给Application进行资源调度。
推荐阅读
- Spark|Spark 数据倾斜及其解决方案
- python-安装sublime遇到异常
- Android|Android BLE蓝牙连接异常处理
- C#中类的异常处理详解
- php异常处理
- 使用sqlalchemy|使用sqlalchemy orm 的model序列化,解决返回model的异常
- 20170323
- WebAPI|WebAPI 多对多对象输出json异常()
- python深度学习实现自编码器Autoencoder神经网络异常检测心电图ECG时间序列
- 解析json用的Gson解析出现异常记录问题