我们正在运行一个带有纱线作为资源管理器的火花流工作,注意到这两个目录正在填满数据节点,当我们只运行几分钟时,我们的空间不足
的/ tmp / hadoop的/数据/纳米本地-DIR / filecache
的/ tmp / hadoop的/数据/纳米本地-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>
答案 0 :(得分:2)
如果主要问题是你的空间不足,那么尝试为yarn属性设置一个较低的值&#34; yarn.nodemanager.localizer.cache.target-size-mb&#34;。默认情况下,这是10240 MB(10GB)。
至于自动清理没有被触发,这可能是由于(或至少与之相关)纱线2.7.1上报告的未解决的错误:https://issues.apache.org/jira/browse/YARN-4540
答案 1 :(得分:0)
您的缓存清理间隔很好,但由于本地目录位于/tmp
,因此填充速度可能非常快,通常/tmp
的空间会减少。我的建议是将您的yarn.nodemanager.local-dirs
更改为/u01
yarn.nodemanager.localizer.cache.cleanup.interval-ms
的建议值为600000
或10 mins