MLSQL Engine SparkContext is stopped异常
2.1.0-SNAPSHOT 及以上版本可用
使用MLSQL Engine的同学可能会遇到一个问题,就是SparkContext因为某种原因异常停止了,但是 Driver进程依然存活。而一般运维体系监控都只监控进程存活,所以这种进程存活,实际服务已经不可用的状态对运维而言并不友好。
MLSQL 在2.1.0开始,提供一个新的功能选项,在启动MLSQL Engine时,添加如下参数:
--conf spark.mlsql.plugins.healthy.shutdownOnSparkContextStoppedCleaner=true
默认不开启。如果设置为true,系统会在每次请求后检查下sparkcontext是不是关闭状态。如果是关闭状态,系统会自动退出。
如果用户希望可以自己进行更好的控制,也可以通过下面接口查询当前sparkcontext的状态
http://127.0.0.1:9003/run/script?executeMode=/plugins/healthy&access_token=xxxx
返回结果如下:
{
"sparkContextIsStopped": false
}
用户可以根据该状态来决定后续处理。