gpt4 book ai didi

scala - Apache Flink - org.apache.flink.client.program.ProgramInvocationException

转载 作者:行者123 更新时间:2023-12-03 18:25:19 25 4
gpt4 key购买 nike

我已经使用 Scala 2.11.7 创建了一个带有 Apache FLink 1.0.3 的应用程序,我想在本地测试它(单个 jvm)。所以我按照网站上的说明做了以下操作:

./bin/start-local.sh
tail log/flink-*-jobmanager-*.log

它启动得很好,我可以在 localhost:8081 看到 Web 界面。
然后,我尝试提交我的申请,但我收到异常或奇怪的消息。例如,当我键入以下任一命令时:
./bin/flink run ./myApp.jar
./bin/flink run ./myApp.jar -c MyMain
./bin/flink run ./myApp.jar -c myMain.class
./bin/flink run ./myApp.jar -c myMain.scala
./bin/flink run ./myApp.jar -c my.package.myMain
./bin/flink run ./myApp.jar -c my.package.myMain.class
./bin/flink run ./myApp.jar -c my.package.myMain.scala

我得到以下异常:
------------------------------------------------------------
The program finished with the following exception:

org.apache.flink.client.program.ProgramInvocationException: Neither a 'Main-Class', nor a 'program-class' entry was found in the jar file.
at org.apache.flink.client.program.PackagedProgram.getEntryPointClassNameFromJar(PackagedProgram.java:571)
at org.apache.flink.client.program.PackagedProgram.<init>(PackagedProgram.java:188)
at org.apache.flink.client.program.PackagedProgram.<init>(PackagedProgram.java:126)
at org.apache.flink.client.CliFrontend.buildProgram(CliFrontend.java:922)
at org.apache.flink.client.CliFrontend.run(CliFrontend.java:301)
at org.apache.flink.client.CliFrontend.parseParameters(CliFrontend.java:1192)
at org.apache.flink.client.CliFrontend.main(CliFrontend.java:1243)

当我键入以下任一命令时:
./bin/flink run ./ -c myMain myApp.jar
./bin/flink run ./ -c myMain.class myApp.jar
./bin/flink run ./ -c myMain.scala myApp.jar
./bin/flink run ./ -c my.package.myMain myApp.jar
./bin/flink run ./ -c my.package.myMain.class myApp.jar
./bin/flink run ./ -c my.package.myMain.scala myApp.jar

我收到以下错误:
JAR file is not a file: .

Use the help option (-h or --help) to get help on the command.

上述命令不适用于 -c 或 --class。我使用 IntelliJ,并使用 Build Module from Dependencies 选项编译了应用程序。我究竟做错了什么?

最佳答案

提交 JAR 的正确方法是:

bin/flink run -c my.package.myMain myApp.jar

您必须在 JAR 文件之前指定参数(如 -c )。您最初收到错误消息,因为 ./被解释为 JAR 并且该行的其余部分被忽略。
-p参数是可选的。您的最后一个示例有效,因为参数顺序是正确的,而不是因为并行标志。

关于scala - Apache Flink - org.apache.flink.client.program.ProgramInvocationException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37453262/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com