我最近无法将任何jar上传到我的Flink集群,在AWS EMR上的YARN下运行。有一个长期运行的流应用程序运行了26天。似乎临时目录已被删除,但我真的不认为我删除了它。
来自jobmanager.log
:
2019-02-12 22:02:05,156 WARN org.apache.flink.runtime.webmonitor.handlers.JarListHandler - Jar upload dir /tmp/flink-web-94fee1e8-35b9-409f-be97-d86c0f021459/flink-web-upload does not exist, or had been deleted externally. Previously uploaded jars are no longer available.
该实例有足够的空间存放jar。
这是YARN应用状态:
Application-Id : application_1547758510009_0001
Application-Name : Flink session cluster
Application-Type : Apache Flink
User : hadoop
Queue : default
Application Priority : 0
Start-Time : 1547758629234
Finish-Time : 0
Progress : 100%
State : RUNNING
Final-State : UNDEFINED
Tracking-URL : http://ip-cp1.ec2.internal:39975
RPC Port : 39975
AM Host : ip-cp1.ec2.internal
Aggregate Resource Allocation : 43765538005 MB-seconds, 4500338 vcore-seconds
Aggregate Resource Preempted : 0 MB-seconds, 0 vcore-seconds
Log Aggregation Status : NOT_START
Diagnostics :
Unmanaged Application : false
Application Node Label Expression : <Not set>
AM container Node Label Expression : <DEFAULT_PARTITION>
我没有设置jobmanager.web.upload.dir
和jobmanager.web.tmpdir
。重新创建该目录后,我可以通过cURL上传到该目录(并验证文件是否到达),但随后列出的jar文件没有显示任何内容。
谁看过这个吗?而且,我现在如何才能正确地重新创建必要的上传目录?
一些Linux发行版会定期清理临时目录(/tmp
),即不仅仅是重启。
您应该将Flink配置为使用非临时目录来存储JAR。