为什么Hadoop报告"Unhealthy Node local-dirs and log-dirs is bad"?

Ra4*_*41P 27 hadoop hadoop-yarn

我正在尝试在我的PC上设置单节点Hadoop 2.6.0群集.

在访问http:// localhost:8088/cluster时,我发现我的节点被列为"不健康的节点".

在运行状况报告中,它提供错误:

1/1 local-dirs are bad: /tmp/hadoop-hduser/nm-local-dir; 
1/1 log-dirs are bad: /usr/local/hadoop/logs/userlogs
Run Code Online (Sandbox Code Playgroud)

怎么了?

Han*_*xue 52

最常见的原因local-dirs are bad是节点上的可用磁盘空间超过了纱线的max-disk-utilization-per-disk-percentage默认值90.0%.

清理正在运行运行状况不佳的节点的磁盘,或者增加阈值 yarn-site.xml

<property>
  <name>yarn.nodemanager.disk-health-checker.max-disk-utilization-per-disk-percentage</name>
  <value>98.5</value>
</property>
Run Code Online (Sandbox Code Playgroud)

避免禁用磁盘检查,因为当磁盘最终空间不足或者存在权限问题时,您的作业可能会失败.有关更多详细信息,请参阅yarn-site.xml磁盘检查器部分.

FSCK

如果您怀疑目录中存在文件系统错误,可以通过运行进行检查

hdfs fsck /tmp/hadoop-hduser/nm-local-dir
Run Code Online (Sandbox Code Playgroud)


小智 5

请尝试在yarn-site.xml中添加配置

<property>
   <name>yarn.nodemanager.disk-health-checker.enable</name>
   <value>false</value>
</property>
Run Code Online (Sandbox Code Playgroud)

它可以在我的网站上运行.

并且/ usr/local/hadoop/logs.例如:

rm -rf /usr/local/hadoop/logs
mkdir -p /usr/local/hadoop/logs
Run Code Online (Sandbox Code Playgroud)

  • 您不应禁用磁盘运行状况检查。如果你不解决这个问题,你的磁盘很快就会填满 100%,而且无论如何你都会崩溃。 (2认同)