将storm拓扑转换为flink-“没有指定入口类”?

vxf3dgd4  于 2021-06-21  发布在  Storm
关注(0)|答案(1)|浏览(275)

我正在通过这些方向将现有的storm拓扑结构转换为flink工作。我已经通过git安装了flink1.0(snapshot),并在本地运行了webserver和streaming服务器。
我通过gradle将拓扑构建到一个.jar文件中,并通过flink web界面提交它,得到这样一条消息:“没有指定入口类”。
所以-错过了一个入口?这个jar需要什么特别的东西吗?舱单?
当提交到storm集群时,这个.jar正在工作。我添加了(看起来像)相关的flink.jar文件。

编辑:

通过cmd行提交作业时显示以下消息:
org.apache.flink.client.program.programinvocationexception:在jar文件中找不到“main class”或“program class”条目。在org.apache.flink.client.program.packagedprogram.getentrypointclassnamefromjar(packagedprogram。java:563)在org.apache.flink.client.program.packagedprogram。java:186)在org.apache.flink.client.program.packagedprogram。java:124)在org.apache.flink.client.clifrontend.buildprogram(clifrontend。java:725)在org.apache.flink.client.clifrontend.run(clifrontend。java:287)在org.apache.flink.client.clifrontend.parseparameters(clifrontend。java:971)在org.apache.flink.client.clifrontend.main(clifrontend。java:1021)
阅读这篇文章,jira给出了一些答案:
添加清单
在cmd行中添加入口点(使用“-c”选项)

kdfy810k

kdfy810k1#

在flink中,有两种方法可以指定包含

public static void main(String[] args)

方法。这也适用于在flink中执行的storm拓扑。
在文件中包含清单文件 jar (相应的条目必须是 Main-Class 或者 program-class ,即 program-class: package.and.EntryClass ")
您可以指定 -c 旗(即, bin/flink run -c package.and.EntryClass <jarFile.jar> (见https://ci.apache.org/projects/flink/flink-docs-master/apis/cli.html)
如果您使用的是flink的webclient,那么可以指定 -c 输入字段中的标志flink options(请参见此处:https://ci.apache.org/projects/flink/flink-docs-master/apis/web_client.html)

相关问题