Hadoop 纱线:自动清除文件缓存&;用户缓存
我们正在运行一个spark streaming作业,使用Thread作为资源管理器,注意到这两个目录在数据节点上被填满了,当我们只运行几分钟时,空间就用完了 /tmp/hadoop/data/nm local dir/filecache /tmp/hadoop/data/nm local dir/filecache 这些目录不会自动清除,根据我的研究发现,需要设置此属性,warn.nodemanager.localizer.cache.cleanup.interval ms 即使在建立了这个…它不会自动清除任何帮助将不胜感激Hadoop 纱线:自动清除文件缓存&;用户缓存,hadoop,spark-streaming,yarn,Hadoop,Spark Streaming,Yarn,我们正在运行一个spark streaming作业,使用Thread作为资源管理器,注意到这两个目录在数据节点上被填满了,当我们只运行几分钟时,空间就用完了 /tmp/hadoop/data/nm local dir/filecache /tmp/hadoop/data/nm local dir/filecache 这些目录不会自动清除,根据我的研究发现,需要设置此属性,warn.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>
~
~
~warn.nodemanager.aux-services
~mapreduce\u shuffle
~
~
~
~warn.resourcemanager.hostname
~hdfs名称节点
~
~
~
~warn.nodemanager.resource.memory-mb
~ 16384
~
~
~
~warn.nodemanager.resource.cpu-vcores
~ 6
~
~
~
~warn.scheduler.maximum-allocation-mb
~ 16384
~
~warn.nodemanager.localizer.cache.cleanup.interval-ms
~ 3000
~
~
~
~
~warn.nodemanager.local-dirs
~ file:///tmp/hadoop/data/nm-local-dir
~
~
~
您的缓存清理间隔很好,但由于本地目录位于/tmp
中,它可能会很快填满,通常/tmp
的空间会更少。我的建议是将您的warn.nodemanager.local dirs
更改为任何存储磁盘,如/u01
warn.nodemanager.localizer.cache.cleanup.interval ms的建议值为600000
或10分钟
如果主要问题是空间不足,请尝试为warn属性“warn.nodemanager.localizer.cache.target size mb”设置较低的值。默认情况下,这是10240 MB(10GB)
至于自动清理没有被触发,那么这可能是由于(或至少与)Thread 2.7.1上报告了此未解决的错误:感谢您的评论Bruce,即使我指向另一个目录..它也被填满了…我的问题是为什么自动清理没有启动…如果我们能够解决缓存指向的目录将不会成为问题。。。