java - 运行 localhost 集群时出现异常
问题描述
我是 Flink 的新手。在我的计算机上运行本地集群时出现问题。部分关键软件信息如下:
- Flink 版本:Scala 2.11 的 1.13.0;
- 操作系统:Fedora 34;
- Java版本:16;
- 斯卡拉版本:2.11.12。
当我通过命令行启动本地集群时,从命令行看起来一切都很好,但我无法访问localhost:8081
. 它无法打开。此外,当我运行 Flink 示例时出现异常:
[root@localhost flink-1.13.0]# ./bin/start-cluster.sh
Starting cluster.
Starting standalonesession daemon on host fedora.
Starting taskexecutor daemon on host fedora.
[root@localhost flink-1.13.0]# ./bin/flink run examples/streaming/WordCount.jar
Executing WordCount example with default input data set.
Use --input to specify file input.
Printing result to stdout. Use --output to specify output path.
------------------------------------------------------------
The program finished with the following exception:
org.apache.flink.client.program.ProgramInvocationException: The main method caused an error: Unable to make field private final byte[] java.lang.String.value accessible: module java.base does not "opens java.lang" to unnamed module @2baf3d81
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.cli.CliFrontend.executeProgram(CliFrontend.java:812)
at org.apache.flink.client.cli.CliFrontend.run(CliFrontend.java:246)
at org.apache.flink.client.cli.CliFrontend.parseAndRun(CliFrontend.java:1054)
at org.apache.flink.client.cli.CliFrontend.lambda$main$10(CliFrontend.java:1132)
at org.apache.flink.runtime.security.contexts.NoOpSecurityContext.runSecured(NoOpSecurityContext.java:28)
at org.apache.flink.client.cli.CliFrontend.main(CliFrontend.java:1132)
Caused by: java.lang.reflect.InaccessibleObjectException: Unable to make field private final byte[] java.lang.String.value accessible: module java.base does not "opens java.lang" to unnamed module @2baf3d81
at java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:357)
at java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:297)
at java.base/java.lang.reflect.Field.checkCanSetAccessible(Field.java:177)
at java.base/java.lang.reflect.Field.setAccessible(Field.java:171)
at org.apache.flink.api.java.ClosureCleaner.clean(ClosureCleaner.java:106)
at org.apache.flink.api.java.ClosureCleaner.clean(ClosureCleaner.java:132)
at org.apache.flink.api.java.ClosureCleaner.clean(ClosureCleaner.java:132)
at org.apache.flink.api.java.ClosureCleaner.clean(ClosureCleaner.java:69)
at org.apache.flink.streaming.api.environment.StreamExecutionEnvironment.clean(StreamExecutionEnvironment.java:2053)
at org.apache.flink.streaming.api.datastream.DataStream.clean(DataStream.java:203)
at org.apache.flink.streaming.api.datastream.DataStream.addSink(DataStream.java:1243)
at org.apache.flink.streaming.api.datastream.DataStream.print(DataStream.java:937)
at org.apache.flink.streaming.examples.wordcount.WordCount.main(WordCount.java:94)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:78)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:567)
at org.apache.flink.client.program.PackagedProgram.callMainMethod(PackagedProgram.java:355)
... 8 more
我尝试了在线搜索解决方案,但到目前为止对我没有任何用处。
解决方案
Flink 不支持 Java 16。您需要 Java 8 或 11。
推荐阅读
- docker - 在 opcache.ini 中添加行 opcache.preload=/app/tools/preload.php 在 docker 中不起作用
- flutter - Flutter - SafeArea 无法在有凹槽的手机上运行
- azure - api 应用程序 -> ssl 设置 -> .pfx 证书下的 azure 缺少同步选项
- php - 在带有 Laravel 验证的请求的自定义规则中使用额外参数(属性)
- ios - 如何在 SwiftUI 中删除文本和无标签步进器之间的间距?
- pandas - Pandas DF 用字典的平均值替换无值
- c++ - 波兰语字符翻译错误 C/C++
- python - 如何使用 Pytest 模拟身份验证装饰器?
- message - OMNeT++ 模拟直接结束
- c++ - 分配给变量号的内存是在堆上还是在栈上?