大佬教程收集整理的这篇文章主要介绍了在 Apple M1 芯片上运行 Apache Flink 1.12 作业,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我刚刚尝试使用 Rosetta 2 兼容层在配备新 M1 处理器的 Apple Mac Pro 上运行 basic example for Apache Flink。
不幸的是,它失败并显示以下堆栈跟踪:
flink-1.12.2 ./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.
WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by org.apache.flink.API.java.ClosureCleaner (file:/Users/muthmAnn/Development/Flink/flink-1.12.2/lib/flink-dist_2.11-1.12.2.jar) to fIEld java.lang.String.value
WARNING: Please consIDer reporTing this to the maintainers of org.apache.flink.API.java.ClosureCleaner
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denIEd in a future release
------------------------------------------------------------
The program finished with the following exception:
org.apache.flink.clIEnt.program.ProgramInvocationException: The main method caused an error: Failed to execute job 'Streaming WordCount'.
at org.apache.flink.clIEnt.program.PackagedProgram.callMainMethod(PackagedProgram.java:366)
at org.apache.flink.clIEnt.program.PackagedProgram.invokeInteractiveModeForExecution(PackagedProgram.java:219)
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: org.apache.flink.util.FlinkException: Failed to execute job 'Streaming WordCount'.
at org.apache.flink.streaming.API.environment.StreamExecutionEnvironment.executeAsync(StreamExecutionEnvironment.java:1918)
at org.apache.flink.clIEnt.program.StreamContextEnvironment.executeAsync(StreamContextEnvironment.java:135)
at org.apache.flink.clIEnt.program.StreamContextEnvironment.execute(StreamContextEnvironment.java:76)
at org.apache.flink.streaming.API.environment.StreamExecutionEnvironment.execute(StreamExecutionEnvironment.java:1782)
at org.apache.flink.streaming.examples.wordcount.WordCount.main(WordCount.java:97)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegaTingMethodAccessorImpl.invoke(DelegaTingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at org.apache.flink.clIEnt.program.PackagedProgram.callMainMethod(PackagedProgram.java:349)
... 8 more
Caused by: org.apache.flink.runtime.clIEnt.JobSubmissionException: Failed to submit JobGraph.
at org.apache.flink.clIEnt.program.rest.RestClusterClIEnt.lambda$submitJob$7(RestClusterClIEnt.java:400)
at java.base/java.util.concurrent.CompletableFuture.unIExceptionally(CompletableFuture.java:986)
at java.base/java.util.concurrent.CompletableFuture$UnIExceptionally.tryFire(CompletableFuture.java:970)
at java.base/java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:506)
at java.base/java.util.concurrent.CompletableFuture.completeExceptionally(CompletableFuture.java:2088)
at org.apache.flink.runtime.concurrent.FutureUtils.lambda$retryOperationWithDelay$9(FutureUtils.java:390)
at java.base/java.util.concurrent.CompletableFuture.uniWhenComplete(CompletableFuture.java:859)
at java.base/java.util.concurrent.CompletableFuture$UniWhenComplete.tryFire(CompletableFuture.java:837)
at java.base/java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:506)
at java.base/java.util.concurrent.CompletableFuture.completeExceptionally(CompletableFuture.java:2088)
at org.apache.flink.runtime.rest.RestClIEnt$ClIEntHandler.exceptionCaught(RestClIEnt.java:613)
at org.apache.flink.shaded.netty4.io.netty.chAnnel.AbstractChAnnelHandlerContext.invokeExceptionCaught(AbstractChAnnelHandlerContext.java:302)
at org.apache.flink.shaded.netty4.io.netty.chAnnel.AbstractChAnnelHandlerContext.invokeExceptionCaught(AbstractChAnnelHandlerContext.java:281)
at org.apache.flink.shaded.netty4.io.netty.chAnnel.AbstractChAnnelHandlerContext.fireExceptionCaught(AbstractChAnnelHandlerContext.java:273)
at org.apache.flink.shaded.netty4.io.netty.chAnnel.CombinedChAnnelDuplexHandler$DelegaTingChAnnelHandlerContext.fireExceptionCaught(CombinedChAnnelDuplexHandler.java:424)
at org.apache.flink.shaded.netty4.io.netty.chAnnel.ChAnnelHandlerAdapter.exceptionCaught(ChAnnelHandlerAdapter.java:92)
at org.apache.flink.shaded.netty4.io.netty.chAnnel.CombinedChAnnelDuplexHandler$1.fireExceptionCaught(CombinedChAnnelDuplexHandler.java:145)
at org.apache.flink.shaded.netty4.io.netty.chAnnel.ChAnnelinboundHandlerAdapter.exceptionCaught(ChAnnelinboundHandlerAdapter.java:143)
at org.apache.flink.shaded.netty4.io.netty.chAnnel.CombinedChAnnelDuplexHandler.exceptionCaught(CombinedChAnnelDuplexHandler.java:231)
at org.apache.flink.shaded.netty4.io.netty.chAnnel.AbstractChAnnelHandlerContext.invokeExceptionCaught(AbstractChAnnelHandlerContext.java:302)
at org.apache.flink.shaded.netty4.io.netty.chAnnel.AbstractChAnnelHandlerContext.invokeExceptionCaught(AbstractChAnnelHandlerContext.java:281)
at org.apache.flink.shaded.netty4.io.netty.chAnnel.AbstractChAnnelHandlerContext.fireExceptionCaught(AbstractChAnnelHandlerContext.java:273)
at org.apache.flink.shaded.netty4.io.netty.chAnnel.DefaultChAnnelPipeline$headContext.exceptionCaught(DefaultChAnnelPipeline.java:1377)
at org.apache.flink.shaded.netty4.io.netty.chAnnel.AbstractChAnnelHandlerContext.invokeExceptionCaught(AbstractChAnnelHandlerContext.java:302)
at org.apache.flink.shaded.netty4.io.netty.chAnnel.AbstractChAnnelHandlerContext.invokeExceptionCaught(AbstractChAnnelHandlerContext.java:281)
at org.apache.flink.shaded.netty4.io.netty.chAnnel.DefaultChAnnelPipeline.fireExceptionCaught(DefaultChAnnelPipeline.java:907)
at org.apache.flink.shaded.netty4.io.netty.chAnnel.nio.AbstractNioByteChAnnel$NioByteUnsafe.handleReadException(AbstractNioByteChAnnel.java:125)
at org.apache.flink.shaded.netty4.io.netty.chAnnel.nio.AbstractNioByteChAnnel$NioByteUnsafe.read(AbstractNioByteChAnnel.java:174)
at org.apache.flink.shaded.netty4.io.netty.chAnnel.nio.NioEventLoop.processSELEctedKey(NioEventLoop.java:714)
at org.apache.flink.shaded.netty4.io.netty.chAnnel.nio.NioEventLoop.processSELEctedKeysOptimized(NioEventLoop.java:650)
at org.apache.flink.shaded.netty4.io.netty.chAnnel.nio.NioEventLoop.processSELEctedKeys(NioEventLoop.java:576)
at org.apache.flink.shaded.netty4.io.netty.chAnnel.nio.NioEventLoop.run(NioEventLoop.java:493)
at org.apache.flink.shaded.netty4.io.netty.util.concurrent.SingleThreadEventexecutor$4.run(SingleThreadEventexecutor.java:989)
at org.apache.flink.shaded.netty4.io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
at java.base/java.lang.Thread.run(Thread.java:834)
Caused by: org.apache.flink.runtime.concurrent.FutureUtils$RetryException: Could not complete the operation. number of retrIEs has been exhausted.
at org.apache.flink.runtime.concurrent.FutureUtils.lambda$retryOperationWithDelay$9(FutureUtils.java:386)
... 29 more
Caused by: java.util.concurrent.CompletionException: java.io.IOException: Connection reset by peer
at java.base/java.util.concurrent.CompletableFuture.encodeRelay(CompletableFuture.java:367)
at java.base/java.util.concurrent.CompletableFuture.completeRelay(CompletableFuture.java:376)
at java.base/java.util.concurrent.CompletableFuture$UniRelay.tryFire(CompletableFuture.java:1019)
... 27 more
Caused by: java.io.IOException: Connection reset by peer
at java.base/sun.nio.ch.filedispatcherImpl.read0(Native Method)
at java.base/sun.nio.ch.socketdispatcher.read(Socketdispatcher.java:39)
at java.base/sun.nio.ch.IoutIl.readIntoNativeBuffer(IoutIl.java:276)
at java.base/sun.nio.ch.IoutIl.read(IoutIl.java:233)
at java.base/sun.nio.ch.IoutIl.read(IoutIl.java:223)
at java.base/sun.nio.ch.socketChAnnelimpl.read(SocketChAnnelimpl.java:358)
at org.apache.flink.shaded.netty4.io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253)
at org.apache.flink.shaded.netty4.io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1133)
at org.apache.flink.shaded.netty4.io.netty.chAnnel.socket.nio.NioSocketChAnnel.doReadBytes(NioSocketChAnnel.java:350)
at org.apache.flink.shaded.netty4.io.netty.chAnnel.nio.AbstractNioByteChAnnel$NioByteUnsafe.read(AbstractNioByteChAnnel.java:148)
所以我的问题是,有人让它运行吗?有没有可能在 Apple Silicon 上执行 Flink 作业?
编辑 (13.04.2021) 顺便说一句:使用 Rosetta 兼容层运行时会发生此错误。所以很遗憾,这不是手头问题的解决方案。
编辑(14.04.2021 回应 Richard Deurwaarder
我正在运行 Java 11:
openjdk 11.0.10 2021-01-19 LTS
OpenJDK Runtime Environment Zulu11.45+27-CA (build 11.0.10+9-LTS)
OpenJDK 64-Bit Server VM Zulu11.45+27-CA (build 11.0.10+9-LTS,mixed modE)
编辑 (14.04.2021)
这是我在没有 Rosetta 2 兼容层的情况下运行时遇到的异常:
flink-1.12.2 ./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.
WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by org.apache.flink.API.java.ClosureCleaner (file:/Users/muthmAnn/Development/Flink/flink-1.12.2/lib/flink-dist_2.11-1.12.2.jar) to fIEld java.lang.String.value
WARNING: Please consIDer reporTing this to the maintainers of org.apache.flink.API.java.ClosureCleaner
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denIEd in a future release
------------------------------------------------------------
The program finished with the following exception:
org.apache.flink.clIEnt.program.ProgramInvocationException: The main method caused an error: Failed to execute job 'Streaming WordCount'.
at org.apache.flink.clIEnt.program.PackagedProgram.callMainMethod(PackagedProgram.java:366)
at org.apache.flink.clIEnt.program.PackagedProgram.invokeInteractiveModeForExecution(PackagedProgram.java:219)
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: org.apache.flink.util.FlinkException: Failed to execute job 'Streaming WordCount'.
at org.apache.flink.streaming.API.environment.StreamExecutionEnvironment.executeAsync(StreamExecutionEnvironment.java:1918)
at org.apache.flink.clIEnt.program.StreamContextEnvironment.executeAsync(StreamContextEnvironment.java:135)
at org.apache.flink.clIEnt.program.StreamContextEnvironment.execute(StreamContextEnvironment.java:76)
at org.apache.flink.streaming.API.environment.StreamExecutionEnvironment.execute(StreamExecutionEnvironment.java:1782)
at org.apache.flink.streaming.examples.wordcount.WordCount.main(WordCount.java:97)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegaTingMethodAccessorImpl.invoke(DelegaTingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at org.apache.flink.clIEnt.program.PackagedProgram.callMainMethod(PackagedProgram.java:349)
... 8 more
Caused by: org.apache.flink.runtime.clIEnt.JobSubmissionException: Failed to submit JobGraph.
at org.apache.flink.clIEnt.program.rest.RestClusterClIEnt.lambda$submitJob$7(RestClusterClIEnt.java:400)
at java.base/java.util.concurrent.CompletableFuture.unIExceptionally(CompletableFuture.java:986)
at java.base/java.util.concurrent.CompletableFuture$UnIExceptionally.tryFire(CompletableFuture.java:970)
at java.base/java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:506)
at java.base/java.util.concurrent.CompletableFuture.completeExceptionally(CompletableFuture.java:2088)
at org.apache.flink.runtime.concurrent.FutureUtils.lambda$retryOperationWithDelay$9(FutureUtils.java:390)
at java.base/java.util.concurrent.CompletableFuture.uniWhenComplete(CompletableFuture.java:859)
at java.base/java.util.concurrent.CompletableFuture$UniWhenComplete.tryFire(CompletableFuture.java:837)
at java.base/java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:506)
at java.base/java.util.concurrent.CompletableFuture.completeExceptionally(CompletableFuture.java:2088)
at org.apache.flink.runtime.rest.RestClIEnt$ClIEntHandler.chAnnelinactive(RestClIEnt.java:588)
at org.apache.flink.shaded.netty4.io.netty.chAnnel.AbstractChAnnelHandlerContext.invokeChAnnelinactive(AbstractChAnnelHandlerContext.java:262)
at org.apache.flink.shaded.netty4.io.netty.chAnnel.AbstractChAnnelHandlerContext.invokeChAnnelinactive(AbstractChAnnelHandlerContext.java:248)
at org.apache.flink.shaded.netty4.io.netty.chAnnel.AbstractChAnnelHandlerContext.fireChAnnelinactive(AbstractChAnnelHandlerContext.java:241)
at org.apache.flink.shaded.netty4.io.netty.chAnnel.ChAnnelinboundHandlerAdapter.chAnnelinactive(ChAnnelinboundHandlerAdapter.java:81)
at org.apache.flink.shaded.netty4.io.netty.handler.timeout.IDleStateHandler.chAnnelinactive(IDleStateHandler.java:277)
at org.apache.flink.shaded.netty4.io.netty.chAnnel.AbstractChAnnelHandlerContext.invokeChAnnelinactive(AbstractChAnnelHandlerContext.java:262)
at org.apache.flink.shaded.netty4.io.netty.chAnnel.AbstractChAnnelHandlerContext.invokeChAnnelinactive(AbstractChAnnelHandlerContext.java:248)
at org.apache.flink.shaded.netty4.io.netty.chAnnel.AbstractChAnnelHandlerContext.fireChAnnelinactive(AbstractChAnnelHandlerContext.java:241)
at org.apache.flink.shaded.netty4.io.netty.handler.stream.ChunkeDWriteHandler.chAnnelinactive(ChunkeDWriteHandler.java:138)
at org.apache.flink.shaded.netty4.io.netty.chAnnel.AbstractChAnnelHandlerContext.invokeChAnnelinactive(AbstractChAnnelHandlerContext.java:262)
at org.apache.flink.shaded.netty4.io.netty.chAnnel.AbstractChAnnelHandlerContext.invokeChAnnelinactive(AbstractChAnnelHandlerContext.java:248)
at org.apache.flink.shaded.netty4.io.netty.chAnnel.AbstractChAnnelHandlerContext.fireChAnnelinactive(AbstractChAnnelHandlerContext.java:241)
at org.apache.flink.shaded.netty4.io.netty.chAnnel.ChAnnelinboundHandlerAdapter.chAnnelinactive(ChAnnelinboundHandlerAdapter.java:81)
at org.apache.flink.shaded.netty4.io.netty.handler.codec.messageAggregator.chAnnelinactive(messageAggregator.java:438)
at org.apache.flink.shaded.netty4.io.netty.chAnnel.AbstractChAnnelHandlerContext.invokeChAnnelinactive(AbstractChAnnelHandlerContext.java:262)
at org.apache.flink.shaded.netty4.io.netty.chAnnel.AbstractChAnnelHandlerContext.invokeChAnnelinactive(AbstractChAnnelHandlerContext.java:248)
at org.apache.flink.shaded.netty4.io.netty.chAnnel.AbstractChAnnelHandlerContext.fireChAnnelinactive(AbstractChAnnelHandlerContext.java:241)
at org.apache.flink.shaded.netty4.io.netty.chAnnel.CombinedChAnnelDuplexHandler$DelegaTingChAnnelHandlerContext.fireChAnnelinactive(CombinedChAnnelDuplexHandler.java:418)
at org.apache.flink.shaded.netty4.io.netty.handler.codec.bytetomessageDecoder.chAnnelinputClosed(BytetomessageDecoder.java:389)
at org.apache.flink.shaded.netty4.io.netty.handler.codec.bytetomessageDecoder.chAnnelinactive(BytetomessageDecoder.java:354)
at org.apache.flink.shaded.netty4.io.netty.handler.codec.http.httpClIEntCodec$Decoder.chAnnelinactive(httpClIEntCodec.java:288)
at org.apache.flink.shaded.netty4.io.netty.chAnnel.CombinedChAnnelDuplexHandler.chAnnelinactive(CombinedChAnnelDuplexHandler.java:221)
at org.apache.flink.shaded.netty4.io.netty.chAnnel.AbstractChAnnelHandlerContext.invokeChAnnelinactive(AbstractChAnnelHandlerContext.java:262)
at org.apache.flink.shaded.netty4.io.netty.chAnnel.AbstractChAnnelHandlerContext.invokeChAnnelinactive(AbstractChAnnelHandlerContext.java:248)
at org.apache.flink.shaded.netty4.io.netty.chAnnel.AbstractChAnnelHandlerContext.fireChAnnelinactive(AbstractChAnnelHandlerContext.java:241)
at org.apache.flink.shaded.netty4.io.netty.chAnnel.DefaultChAnnelPipeline$headContext.chAnnelinactive(DefaultChAnnelPipeline.java:1405)
at org.apache.flink.shaded.netty4.io.netty.chAnnel.AbstractChAnnelHandlerContext.invokeChAnnelinactive(AbstractChAnnelHandlerContext.java:262)
at org.apache.flink.shaded.netty4.io.netty.chAnnel.AbstractChAnnelHandlerContext.invokeChAnnelinactive(AbstractChAnnelHandlerContext.java:248)
at org.apache.flink.shaded.netty4.io.netty.chAnnel.DefaultChAnnelPipeline.fireChAnnelinactive(DefaultChAnnelPipeline.java:901)
at org.apache.flink.shaded.netty4.io.netty.chAnnel.AbstractChAnnel$AbstractUnsafe$8.run(AbstractChAnnel.java:818)
at org.apache.flink.shaded.netty4.io.netty.util.concurrent.AbstractEventexecutor.safeExecute(AbstractEventexecutor.java:164)
at org.apache.flink.shaded.netty4.io.netty.util.concurrent.SingleThreadEventexecutor.runAllTasks(SingleThreadEventexecutor.java:472)
at org.apache.flink.shaded.netty4.io.netty.chAnnel.nio.NioEventLoop.run(NioEventLoop.java:497)
at org.apache.flink.shaded.netty4.io.netty.util.concurrent.SingleThreadEventexecutor$4.run(SingleThreadEventexecutor.java:989)
at org.apache.flink.shaded.netty4.io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
at java.base/java.lang.Thread.run(Thread.java:834)
Caused by: org.apache.flink.runtime.concurrent.FutureUtils$RetryException: Could not complete the operation. number of retrIEs has been exhausted.
at org.apache.flink.runtime.concurrent.FutureUtils.lambda$retryOperationWithDelay$9(FutureUtils.java:386)
... 41 more
Caused by: java.util.concurrent.CompletionException: org.apache.flink.runtime.rest.ConnectionClosedException: ChAnnel became inactive.
at java.base/java.util.concurrent.CompletableFuture.encodeRelay(CompletableFuture.java:367)
at java.base/java.util.concurrent.CompletableFuture.completeRelay(CompletableFuture.java:376)
at java.base/java.util.concurrent.CompletableFuture$UniRelay.tryFire(CompletableFuture.java:1019)
... 39 more
Caused by: org.apache.flink.runtime.rest.ConnectionClosedException: ChAnnel became inactive.
... 37 more
编辑 (15.04.2021)
启动集群后,http://localhost:8081下没有可用的Web Interface(用Safari和firefox试过)。
可能是您运行的是 java 15/16?
WARNING: An illegal reflective access operation has occurred
我已经看到其他库在与反射和 Java 12+ 相关的一些变化中挣扎。这也可以解释为什么管道确实通过 intellij 运行(正如您在邮件列表中提到的)
我会尝试使用 Java 11
以上是大佬教程为你收集整理的在 Apple M1 芯片上运行 Apache Flink 1.12 作业全部内容,希望文章能够帮你解决在 Apple M1 芯片上运行 Apache Flink 1.12 作业所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。