(24.0.RC1已下线)Spark 3.1.1版本开启OmniOperator运行10T大数据集时,偶现Task卡死问题的解决方法
问题现象描述
基于BiSheng JDK 1.8.0.342版本,在Spark 3.1.1中,10TB大数据集开启OmniOperator执行SQL业务时,因JDK在高并发场景类加载机制存在缺陷,低概率导致Spark Task卡死,作业无法结束的问题。
关键过程、根本原因分析
在高并发场景下,BiSheng JDK 1.8.0.342版本在处理调用JNI接口进行类加载时,因JDK的缺陷可能导致线程死锁问题,参考社区ISSUE JDK-8266310。
结论、解决方案及效果
在Spark Web UI中找到卡死的Task所属的Executor(如下图所示),并在后台人工执行Kill命令停止Executor进程即可,该操作不影响任务结果的一致性。
父主题: OmniOperator算子加速