Flink UI部署jar包报错

这篇具有很好参考价值的文章主要介绍了Flink UI部署jar包报错。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

错误描述:

通过Flink的UI中的Submit New Job菜单添加jar包的时候提示报错。报错信息的关键字是“The LocalStreamEnvironment cannot be used when submitting a program through a client, or running in a TestEnvironment context”,最关键的是“LocalStreamEnvironment”。

我的Flink服务是单机版启动。

问题原因就是以下这两行代码的区别,报错是因为我用的是“createLocalEnvironment()”

ExecutionEnvironment env = ExecutionEnvironment.getExecutionEnvironment();
// ExecutionEnvironment env = ExecutionEnvironment.createLocalEnvironment();

// getExecutionEnvironment()方法可以根据flink运用程序如何提交判断出是那种模式提交,Local本地提交,Cluster标是standalone提交,Yarn提交好像是YarnCluster
        

解决办法:使用ExecutionEnvironment.getExecutionEnvironment()

//StreamExecutionEnvironment env = StreamExecutionEnvironment.createLocalEnvironment();
StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment();

以下是详细的内容。

FlinkUI中点击Submit后,弹出的Message完整异常信息参考:

org.apache.flink.runtime.rest.handler.RestHandlerException: Could not execute application. 
at org.apache.flink.runtime.webmonitor.handlers.JarRunHandler.lambda$handleRequest$1(JarRunHandler.java:110) 
at java.util.concurrent.CompletableFuture.uniHandle(CompletableFuture.java:822) 
at java.util.concurrent.CompletableFuture$UniHandle.tryFire(CompletableFuture.java:797) 
at java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:474) 
at java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1595) 
at java.lang.Thread.run(Thread.java:748) Caused by: java.util.concurrent.CompletionException: org.apache.flink.util.FlinkRuntimeException: Could not execute application. 
at java.util.concurrent.CompletableFuture.encodeThrowable(CompletableFuture.java:273)
at java.util.concurrent.CompletableFuture.completeThrowable(CompletableFuture.java:280) 
at java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1592) 
... 1 more Caused by: org.apache.flink.util.FlinkRuntimeException: Could not execute application. 
at org.apache.flink.client.deployment.application.DetachedApplicationRunner.tryExecuteJobs(DetachedApplicationRunner.java:88) 
at org.apache.flink.client.deployment.application.DetachedApplicationRunner.run(DetachedApplicationRunner.java:70) 
at org.apache.flink.runtime.webmonitor.handlers.JarRunHandler.lambda$handleRequest$0(JarRunHandler.java:104) 
at java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1590) 
... 1 more Caused by: org.apache.flink.client.program.ProgramInvocationException: The main method caused an error: The LocalStreamEnvironment cannot be used when submitting a program through a client, or running in a TestEnvironment context. 
at org.apache.flink.client.program.PackagedProgram.callMainMethod(PackagedProgram.java:372) 
at org.apache.flink.client.program.PackagedProgram.invokeInteractiveModeForExecution(PackagedProgram.java:222) 
at org.apache.flink.client.ClientUtils.executeProgram(ClientUtils.java:114) 
at org.apache.flink.client.deployment.application.DetachedApplicationRunner.tryExecuteJobs(DetachedApplicationRunner.java:84) 
... 4 more Caused by: org.apache.flink.api.common.InvalidProgramException: The LocalStreamEnvironment cannot be used when submitting a program through a client, or running in a TestEnvironment context. 
at org.apache.flink.streaming.api.environment.LocalStreamEnvironment.validateAndGetConfiguration(LocalStreamEnvironment.java:57) 
at org.apache.flink.streaming.api.environment.LocalStreamEnvironment.<init>(LocalStreamEnvironment.java:52) 
at org.apache.flink.streaming.api.environment.StreamExecutionEnvironment.createLocalEnvironment(StreamExecutionEnvironment.java:2259) 
at org.apache.flink.streaming.api.environment.StreamExecutionEnvironment.createLocalEnvironment(StreamExecutionEnvironment.java:2247) 
at org.apache.flink.streaming.api.environment.StreamExecutionEnvironment.createLocalEnvironment(StreamExecutionEnvironment.java:2230) 
at org.apache.flink.streaming.api.environment.StreamExecutionEnvironment.createLocalEnvironment(StreamExecutionEnvironment.java:2218) 
at com.xx.XXApplication.main(XXApplication.java:39) 
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
at java.lang.reflect.Method.invoke(Method.java:498) 
at org.apache.flink.client.program.PackagedProgram.callMainMethod(PackagedProgram.java:355)

其实异常信息里面已经提示了关键信息,但是初次接触Flink没有意识到,就是里面的

at com.xx.XXApplication.main(XXApplication.java:39) 

39行的代码就是

StreamExecutionEnvironment env = StreamExecutionEnvironment.createLocalEnvironment();

后来参考的网上的信息才意识到问题的根本原因。记录一下,以供参考。

网上还有很多类似的异常信息,需要仔细查看里面的关键字,一定要仔细,问题的原因就在异常信息里面。

以下信息给了我启发

“The RemoteEnvironment cannot be used when submitting a program through a client, or running in a TestEnvironment context.” 这个异常的关键字是“RemoteEnvironment ”

stackoverflow上的一个问答是关于这个异常的,给了我参考。

https://stackoverflow.com/questions/62876301/the-remoteenvironment-cannot-be-used-when-submitting-a-program-through-a-client文章来源地址https://www.toymoban.com/news/detail-423913.html

到了这里,关于Flink UI部署jar包报错的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Flink提交jar出现错误RestHandlerException: No jobs included in application.

    今天打包一个flink的maven工程为jar,通过flink webUI提交,发现居然报错。 如上图所示,提示错误为: Server Response Message: org.apache.flink.runtime.rest.handler.RestHandlerException: No jobs included in application. at 【解决方案】 查看  JOB Manager日志 发现是环境问题,再仔细看 ,居然使用了 Stream

    2024年02月10日
    浏览(114)
  • Flink使用JavaAgent进行字节码修改的文件错误:无法打开ZIP文件或JAR清单丢失

    Flink使用JavaAgent进行字节码修改的文件错误:无法打开ZIP文件或JAR清单丢失 在大数据领域,Apache Flink是一个强大的流处理和批处理框架,它提供了许多功能和工具来处理大规模数据集。在某些情况下,我们可能需要对Flink应用程序的字节码进行修改,以实现一些定制化的需求

    2024年03月16日
    浏览(57)
  • 运行jar包报no main manifest attribute, in XXXX的解决办法

    这个问题主要是因为MANIFEST.MF文件内没有指定启动Main-Class主类 三个办法: 1.指定MANIFEST.MF文件内容中的启动Main-Class主类 2.pom文件添加如下代码再重新打包 3.一般情况下,java 打包成 jar 包需要在  MANIFEST.MF 中指定 Main-Class 项,以便运行 java -jar xxx.jar 时找到对应的主类。因为-j

    2024年02月08日
    浏览(35)
  • JAVA开发与运维(怎么通过docker部署微服务jar包)

    目标: 通过docker的方式部署微服务。 我们通过java开发的微服务可以打成jar包,我们可以直接通过裸机部署,也可以通过docker来部署,本文介绍通过docker来部署微服务。 Docker 是一个用于开发,交付和运行应用程序的开放平台。 Docker 将应用程序与基础架构分开,从而可以快速

    2024年02月09日
    浏览(44)
  • 【flink】使用flink-web-ui提交作业报错

    使用WebUI提交作业出现错误。 错误截图:  弹框信息: 在弹框中是无法看到具体错误信息的。 需要去 job-manager/logs中看详细信息: Failed to create checkpoint storage at checkpoint coordinator side 无法在检查点协调器端创建检查点存储  怎么还没有办法创建呢???? 看一下我的StateBa

    2024年02月14日
    浏览(52)
  • go test main包报错

    先提出问题, 再说明原因. 有如下一段代码: 当执行 go test 测试时, 会报如下错误: main.test /var/folders/55/47pl3jxx6rg7m0r6xvn4f7wr0000gn/T/go-build2769402238/b001/_testmain.go:13:8: could not import main (cannot import “main”) FAIL main [build failed] 什么意思? 导入 main 包失败? Why? 经过我的测试, 有如下方法解

    2023年04月16日
    浏览(36)
  • 解决Linux部署报错No main manifest attribute, in XXX.jar

    这是我近期遇到的一个问题,报错原因就是没找到主类,首先你在你本地运行,本地运行ok的话,解压生成的jar包,里面有个 META-INF 文件,打开 MANIFEST.MF 文件, 该文件是一个清单文件。该文件包含有关JAR文件中的内容的信息,包括入口点,。找主类(main方法的类)就是去这个文

    2024年04月28日
    浏览(44)
  • Python | Conda安装包报错:PackagesNotFoundError

    Conda在下载安装包时报错: 有如下两种解决方法:         在命令行运行下方指令,然后重新安装。         点击命令行提示的连接,即官网: https://anaconda.org ,在页面搜索需要的包,复制下方任意一条指令在命令行运行即可。         进入主页搜索:         复制官网

    2024年04月14日
    浏览(121)
  • kafka-ui通过docker部署

    container_name:容器名 ports:端口映射 DYNAMIC_CONFIG_ENABLED: \\\"true“——启用动态配置 volumes:目录挂载(在这个目录下会保存修改后的配置文件) extra_hosts:hosts配置,要和kafka集群一致 打开页面,添加你的集群,就OK了

    2024年01月17日
    浏览(48)
  • burp 抓https包报错正确解决姿势

    这里可以排除第2,3种可能 1 .HTTPS 加密:百度使用 HTTPS 进行数据传输,这意味着通信过程中的数据是加密的。如果 burp 配置不正确,无法解密 HTTPS 流量,就无法抓取到百度的包。解决方法是在 burp 中设置 SSL/TLS 证书,以便 burp 可以解密 HTTPS 流量。可以参考 burp 的官方文档或

    2024年02月15日
    浏览(38)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包