apache-flink - Apache Flink 胖 JAR 的最大大小

标签 apache-flink shadowjar fatjar

我构建了一个 Apache Flink 应用程序,并将其打包在一个带有 Gradle Shadow Plugin 的胖 JAR 中。 。生成的文件大小约为 114 MiB。当我尝试使用 Flink 的 Web UI 上传它时,它陷入“正在保存...”阶段。如果我使用curl手动上传它,结果是“413 Request Entity Too Large”:

$ curl -X POST -H "Expect:" -i -F "<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="412b203327282d247c01272d282f2a6c202d2d6f2b2033" rel="noreferrer noopener nofollow">[email protected]</a>" http://ec2-18-204-247-166.compute-1.amazonaws.com:8081/jars/upload

HTTP/1.1 413 Request Entity Too Large
content-length: 0

那么有哪些选择呢?

UPD:我可以在 /tmp/flink-web-UUID/flink-web-upload/UUID/flink-all.jar 中看到 JAR,但 Flink 无法识别它(不可见)在用户界面上)。

最佳答案

好的,很容易修复。

首先,我扫描了他们的存储库中的“Too Large”字符串,发现 this class 。看起来 SERVER_MAX_CONTENT_LENGTH 负责最大对象大小。设置here来自配置选项rest.server.max-content-length。默认值为 100 MiB。

TLDR:

flink-conf.yaml 中的 rest.server.max-content-length 设置为 209715200 (200 MiB) 解决了该问题。

关于apache-flink - Apache Flink 胖 JAR 的最大大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51983995/

相关文章:

java - flink - 添加检测

gradle shadowJar 结合 HOCON 格式的配置文件

scala - 使用 shadowJar 和 Scala 依赖项时如何修复丢失的 conf 文件?

Gradle:Uber Jar 创建失败,错误为 "Could not expand ZIP"

Gradle shadowJar 删除所需的 SQL 驱动程序

java - 禁用 Apache Flink 日志记录

apache-flink - FlinkKafkaProducer 的 ProducerConfig 具有一次性语义

intellij-idea - gRPC UnsupportedAddressTypeException,但仅当与 shadowJar 打包时

Java maven 项目 - 从主类运行时有效,但从 'fat' jar 运行时无效

java - 在 Apache Flink Broadcast 流中应用基于窗口的规则