1.Streamis一直向linkis-manager申请引擎
问题描述
在启动Streamis后,Streamis一直向linkis-manager申请引擎,导致engine中有很多引擎
解决方案
将Streamis的请求引擎timeout时间设置为90000,相当于90s
streamis-jobmanager/streamis-job-launcher/streamis-job-launcher-linkis/src/main/scala/com/webank/wedatasphere/streamis/jobmanager/launcher/linkis/job/client/LinkisFlinkManagerClient.scala文件中73行
var askEngineConnAction = AskEngineConnAction
.newBuilder()
.setCreateService(getClass.getSimpleName)
.setLabels(initLabels)
.setProperties(initProperties)
.setUser(submitUser)
.setMaxSubmitTime(90000)
.setDescription("Ask a flink manager ec.")
.build()
在140行
askEngineConnAction = AskEngineConnAction
.newBuilder()
.setCreateService(getClass.getSimpleName)
.setLabels(tmpLabels)
.setProperties(tmpProps)
.setUser("hadoop")
.setMaxSubmitTime(90000)
.setDescription("Ask a flink manager ec.")
.build()
修改代码后编译使用
问题分析
Streamis启动后会向linkis-manager请求引擎,默认请求引擎的timeout时间为30s,但是我的环境下在enginemanager启动引擎时需要50s的时间flink引擎才会启动,并暴露端口,因此linkis-manager在30s时间后没有探查到enginemanager中新引擎的端口时,会向enginemanager发送kill请求,新引擎会被kill,Streamis发现请求引擎失败后,会在30s后继续申请,所以会发现Streamis一直向linkis-manager申请引擎的情况,将请求引擎的timeout时间设置为90s后这种情况不再出现
2.向Streamis提交任务出现Caused by: org.apache.calcite.sql.parser.SqlParseException: Non-query expression encountered in illegal context
问题描述
向Streamis提交任务后,启动的engine出现错误org.apache.calcite.sql.parser.SqlParseException: Non-query expression encountered in illegal context
解决方案
修改meta.json,将jobContent中type修改为file类型
{
"projectName": "mysqlcdc1",
"jobName": "mysqlcdc1",
"jobType": "flink.sql",
"tags": "",
"description": "cdc测试",
"jobContent": {
"type": "file",
"sql": "",
"file": "mysqlcdc1.sql",
"resourceId": "",
"version": ""
}
}
问题分析
jobContent中,如果需要执行sql语句,修改jobContent.type为sql,如果执行的是sql文件,修改jobContent.type为file