Yarn:自动清除文件缓存和用户缓存

use*_*997 7 hadoop hadoop-yarn spark-streaming

我们正在使用纱线作为资源管理器运行火花流作业,注意到这两个目录在数据节点上被填满,并且当我们只运行几分钟时,我们就耗尽了空间

/tmp/hadoop/data/nm-local-dir/filecache

/tmp/hadoop/data/nm-local-dir/filecache

这些目录不会自动清除,根据我的研究发现需要设置此属性, yarn.nodemanager.localizer.cache.cleanup.interval-ms

即使设置完毕后..它也不会自动清除任何帮助将不胜感激

<configuration>
    ~
    ~   <property>
    ~       <name>yarn.nodemanager.aux-services</name>
    ~       <value>mapreduce_shuffle</value>
    ~   </property>
    ~
    ~   <property>
    ~       <name>yarn.resourcemanager.hostname</name>
    ~       <value>hdfs-name-node</value>
    ~   </property>
    ~
    ~   <property>
    ~       <name>yarn.nodemanager.resource.memory-mb</name>
    ~       <value>16384</value>
    ~   </property>
    ~
    ~   <property>
    ~       <name>yarn.nodemanager.resource.cpu-vcores</name>
    ~       <value>6</value>
    ~   </property>
    ~
    ~   <property>
    ~       <name>yarn.scheduler.maximum-allocation-mb</name>
    ~       <value>16384</value>
    ~   </property>
         <property>
    ~       <name>yarn.nodemanager.localizer.cache.cleanup.interval-ms</name>
    ~       <value>3000</value>
    ~   </property>
    ~
    ~   <!-- Needs to be explicitly set as part of a workaround for YARN-367.
    ~      | If changing this property, you must also change the
    ~      | hadoop.tmp.dir property in hdfs-site.xml. This location must always
    ~      | be a subdirectory of the location specified in hadoop.tmp.dir. This
    ~      | affects all versions of Yarn 2.0.0 through 2.7.3+. -->
    ~   <property>
    ~       <name>yarn.nodemanager.local-dirs</name>
    ~       <value>file:///tmp/hadoop/data/nm-local-dir</value>
    ~   </property>
    ~
    ~ </configuration>
Run Code Online (Sandbox Code Playgroud)

小智 5

如果主要问题是空间不足,请尝试为纱线属性“yarn.nodemanager.localizer.cache.target-size-mb”设置较低的值。默认情况下,这是 10240 MB(10GB)。

至于未触发自动清理,这可能是由于(或至少与)Yarn 2.7.1 上报告的未解决的错误有关:https://issues.apache.org/jira/browse/YARN-4540


Bru*_*yne 1

您的缓存清理间隔很好,但由于本地目录位于/tmp,它可能会很快填满,通常/tmp空间会更少。我的建议是将您的存储磁盘更改yarn.nodemanager.local-dirs为任何存储磁盘,例如/u01

的推荐值为yarn.nodemanager.localizer.cache.cleanup.interval-ms60000010 mins