【发布时间】:2018-10-25 16:27:59
【问题描述】:
使用 java REST 客户端将 jar 上传到 Flink 1.5.0 服务器时,我们收到错误响应 {"errors":["Internal server error: null"]}。相同的代码在 Flink 1.4.2 中可以正常工作。实际上我们可以看到 jar 已经从 Flink GUI 上传。但是错误的状态打破了逻辑。请问有什么建议吗?
HttpPost uploadFile = new HttpPost(flinkJobManagerUrl + "/jars/upload");
MultipartEntityBuilder builder = MultipartEntityBuilder.create();
builder.addBinaryBody(
"jarfile",
new FileInputStream(f),
ContentType.create("application/x-java-archive"),
f.getName()
);
HttpEntity multipart = builder.build();
uploadFile.setEntity(multipart);
CloseableHttpResponse response = restClient.execute(uploadFile);
rd = new BufferedReader(new InputStreamReader(response.getEntity().getContent()));
===========================
来自 JM 日志的错误:
018-06-01 16:05:46,514 WARN org.apache.flink.runtime.dispatcher.DispatcherRestEndpoint - 未处理的异常 org.apache.flink.shaded.netty4.io.netty.handler.codec.http.multipart.HttpPostRequestDecoder$EndOfDataDecoderException 在 org.apache.flink.shaded.netty4.io.netty.handler.codec.http.multipart.HttpPostMultipartRequestDecoder.hasNext(HttpPostMultipartRequestDecoder.java:366) 在 org.apache.flink.shaded.netty4.io.netty.handler.codec.http.multipart.HttpPostRequestDecoder.hasNext(HttpPostRequestDecoder.java:241) 在 org.apache.flink.runtime.rest.FileUploadHandler.channelRead0(FileUploadHandler.java:92) 在 org.apache.flink.runtime.rest.FileUploadHandler.channelRead0(FileUploadHandler.java:51) 在 org.apache.flink.shaded.netty4.io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:105) 在 org.apache.flink.shaded.netty4.io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:339) 在 org.apache.flink.shaded.netty4.io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:324) 在 org.apache.flink.shaded.netty4.io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:242) 在 org.apache.flink.shaded.netty4.io.netty.channel.CombinedChannelDuplexHandler.channelRead(CombinedChannelDuplexHandler.java:147) 在 org.apache.flink.shaded.netty4.io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:339) 在 org.apache.flink.shaded.netty4.io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:324) 在 org.apache.flink.shaded.netty4.io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:847) 在 org.apache.flink.shaded.netty4.io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:131) 在 org.apache.flink.shaded.netty4.io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:511) 在 org.apache.flink.shaded.netty4.io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:468) 在 org.apache.flink.shaded.netty4.io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:382) 在 org.apache.flink.shaded.netty4.io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:354) 在 org.apache.flink.shaded.netty4.io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:111) 在 org.apache.flink.shaded.netty4.io.netty.util.concurrent.DefaultThreadFactory$DefaultRunnableDecorator.run(DefaultThreadFactory.java:137) 在 java.lang.Thread.run(Thread.java:748)
但过了一会儿你会看到从 GUI 上传的 jar。但是当运行它时,它会给出另一个异常:
2018-06-01 16:10:06,752 错误 org.apache.flink.runtime.webmonitor.handlers.JarRunHandler - REST 处理程序中发生异常。 org.apache.flink.runtime.rest.handler.RestHandlerException: 只需要一个值 [--KAFKA_IN a_O@192.168.56.120:9092, 192.168.56.121:9092, 192.168.56.122:9092/a_O_124 --ZK_SESSION_TIMEOUT 600ALIVE 600ALIVE--ZKK 1]。 在 org.apache.flink.runtime.rest.handler.util.HandlerRequestUtils.getQueryParameter(HandlerRequestUtils.java:56) 在 org.apache.flink.runtime.rest.handler.util.HandlerRequestUtils.getQueryParameter(HandlerRequestUtils.java:44) 在 org.apache.flink.runtime.webmonitor.handlers.JarRunHandler.handleRequest(JarRunHandler.java:102) 在 org.apache.flink.runtime.webmonitor.handlers.JarRunHandler.handleRequest(JarRunHandler.java:68) 在 org.apache.flink.runtime.rest.handler.AbstractRestHandler.respondToRequest(AbstractRestHandler.java:77) 在 org.apache.flink.runtime.rest.AbstractHandler.respondAsLeader(AbstractHandler.java:168) 在 org.apache.flink.runtime.rest.handler.RedirectHandler.lambda$null$0(RedirectHandler.java:139) 在 java.util.concurrent.CompletableFuture.uniWhenComplete(CompletableFuture.java:760) 在 java.util.concurrent.CompletableFuture$UniWhenComplete.tryFire(CompletableFuture.java:736) 在 java.util.concurrent.CompletableFuture$Completion.run(CompletableFuture.java:442) 在 org.apache.flink.shaded.netty4.io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:357) 在 org.apache.flink.shaded.netty4.io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:357) 在 org.apache.flink.shaded.netty4.io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:111) 在 org.apache.flink.shaded.netty4.io.netty.util.concurrent.DefaultThreadFactory$DefaultRunnableDecorator.run(DefaultThreadFactory.java:137) 在 java.lang.Thread.run(Thread.java:748)
【问题讨论】:
-
您能否与我们共享集群入口点/作业管理器日志。它们应该包含问题。
-
上面更新了错误,@TillRohrmann 有什么线索吗?谢谢
标签: apache-flink flink-streaming