Apache Flink的胖JAR的最大大小

时间:2018-08-23 10:45:48

标签: 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 "jarfile=@flink-all.jar" 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无法识别它(在UI上不可见)。

1 个答案:

答案 0 :(得分:2)

好,很容易修复。

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

TLDR

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