尝试使用上载的jar启动新作业时发生flink rest api post错误

xqk2d5yq  于 2021-06-24  发布在  Flink
关注(0)|答案(1)|浏览(353)

在阅读了这篇文章之后,我试图点击/jars/:jarid/run端点来启动一个flink作业,如下所示-

curl -k -v -X POST -H "Content-Type: application/json" --data '
{
    "programArgsList": [
        "--runner",
        "FlinkRunner",
        "--inputTopicName",
        "inputTopicNameValue",
        "--Argument",
        "Value",
        "--streaming",
        "true"]
}
' http://<JobManager-hostname>:<port>/jars/MyApplication.jar/run

我尝试上述命令时出现以下错误-

{"errors":["Internal server error.","<Exception on server side:\norg.apache.flink.client.program.ProgramInvocationException: The main method 
caused an error: Argument 'FlinkRunner' does not begin with '--'\n\tat 
org.apache.flink.client.program.PackagedProgram.callMainMethod(PackagedProgram.java:546)\n\tat 
org.apache.flink.client.program.PackagedProgram.invokeInteractiveModeForExecution(PackagedProgram.java:421)\n\tat 
org.apache.flink.client.program.OptimizerPlanEnvironment.getOptimizedPlan(OptimizerPlanEnvironment.java:83)\n\tat 
org.apache.flink.client.program.PackagedProgramUtils.createJobGraph(PackagedProgramUtils.java:80)
``` `Argument 'FlinkRunner' does not begin with '--'` 导致我认为在我的示例中没有正确提供参数值。我知道flink文档提供了json模式定义,而不是restapi文档中的示例请求。提供参数值的正确方法是什么?我的例子是遵循本文中提出的公认解决方案。
flvlnr44

flvlnr441#

下面的发帖请求对我有效,所以我在这里记录它-

curl -k -v -X POST -H "Content-Type: application/json" --data '
{
    "programArgsList": [
        "--runner=FlinkRunner",
        "--inputTopicName=inputTopicNameValue",
        "--Argument=Value",
        "--streaming=true"]
}
' http://<JobManager-hostname>:<port>/jars/MyApplication.jar/run

相关问题