apache-flink - 无法通过 curl 请求使用 post 请求在 Flink 中提交作业(请求不匹配...)
问题描述
我试图向在 Kubernetes 集群上运行的 Flink 作业管理器发送一个发布请求。在为不需要任何命令行参数的类发送 /jar/run 的发布请求时,它工作正常。但是,当尝试在需要命令行参数的同一个 jar 中提交不同的类时,会出现以下错误。-:
{"errors":["Request did not match expected format JarRunRequestBody."]}'
但是,在传递命令行参数并直接提交作业时,如下所示 - :
./flink run -m localhost:30287 -c com.class.name ~/path/to/jar/1.0-1.0-SNAPSHOT.jar --bootstrap.servers izac-cp-kafka:9092 --group.id test --topic bank_transaction --schema.registry http://mysr-schema-registry:8081 --CepJson """{\"keyId\": \"customer_id\",\"pattern\": [{\"patternName\": \"p1\",\"simpleCondition\":{\"columnName\": \"amount\",\"operator\": \">\",\"value\": \"50\",\"dataType\": \"Int\"}},{\"patternName\":\"p2\",\"simpleCondition\":{\"columnName\":\"amount\",\"operator\":\">\",\"value\":\"30\",\"dataType\":\"Int\"}}],\"connector\":[{\"name\":\"begin\",\"connectorType\":\"next\",\"start\":\"p1\",\"end\":\"p2\"}]}"""
要将上述命令转换为基于 flink REST 的发布请求,我执行了以下操作:
curl -k -v -X POST -H "Content-Type: application/json" --data '{ "entryClass":"com.class.name", "programArgsList": [ "--bootstrap.servers izac-cp-kafka:9092", "--group.id test", "--topic bank_transaction", "--schema.registry http://mysr-schema-registry:8081", "--CepJson """{\"keyId\": \"customer_id\",\"pattern\": [{\"patternName\": \"p1\",\"simpleCondition\":{\"columnName\": \"amount\",\"operator\": \">\",\"value\": \"50\",\"dataType\": \"Int\"}},{\"patternName\":\"p2\",\"simpleCondition\":{\"columnName\":\"amount\",\"operator\":\">\",\"value\":\"30\",\"dataType\":\"Int\"}}],\"connector\":[{\"name\":\"begin\",\"connectorType\":\"next\",\"start\":\"p1\",\"end\":\"p2\"}]}""""]}' http://localhost:30287/jars/2a788e33-c92d-47c4-84af-31e3dff28666_1.0-1.0-SNAPSHOT.jar/run
但是,这给出了前面提到的错误。我只是想将上面的命令行作业提交转换为基于rest api的提交到flink集群。
注意 - :发布请求是针对已经包含所需 Jar 的 flink 集群。我只想提交使用特定课程的作业。
解决方案
我不认为 curl"""
像 scala 那样接受字符串插值,因此它肯定不会发送正确CepJson
的参数,所以我将从更改它开始。
推荐阅读
- ada - 您如何在 Ada 中存储(访问)整数运算符?
- apache-kafka - Alpakka Kafka:模式注册表的序列化异常中断了流
- angular - 尝试在 azure vm 中部署 Angular 应用程序时出错:
- cookies - 如何允许 Azure CDN(标准 Microsoft)允许“ASP.NET_SessionId”的“set-cookie”?
- css - 这不止一堂课吗?
- laravel-5 - 如何在 axios 请求中使用 Maatwebsite\Excel 下载 csv 文件?
- docker - dockerized redis cli中的“some-network”占位符中有什么?
- game-maker-studio-1.4 - Game maker Studio pro 64 位架构,满足 android 要求
- css - 如何修复:我只使用 css 创建了一个“X”,但在 ie11 中它在单击时移动
- elasticsearch - Elasticsearch/Kibana 中的递归查询