为什么hadoop报告“不健康的节点本地目录和日志目录是坏的”?

u0njafvf  于 2021-05-30  发布在  Hadoop
关注(0)|答案(7)|浏览(486)

我正试图在我的电脑上安装一个单节点hadoop2.6.0集群。
访问时http://localhost:8088/集群,我发现我的节点被列为“不健康节点”。
在运行状况报告中,它提供了错误:

1/1 local-dirs are bad: /tmp/hadoop-hduser/nm-local-dir; 
1/1 log-dirs are bad: /usr/local/hadoop/logs/userlogs

怎么了?

mzmfm0qo

mzmfm0qo1#

在安装了hadoop的macos上 brew 我得换衣服 /usr/local/Cellar/hadoop/2.8.1/libexec/etc/hadoop/yarn-site.xml 包括以下内容:

<property>
  <name>yarn.nodemanager.disk-health-checker.min-healthy-disks</name>
  <value>0</value>
</property>

该设置基本上完全关闭了磁盘运行状况检查
我是用 brew list hadoop .

$ brew list hadoop | grep yarn-site.xml
/usr/local/Cellar/hadoop/2.8.1/libexec/etc/hadoop/yarn-site.xml
/usr/local/Cellar/hadoop/2.8.1/libexec/share/hadoop/tools/sls/sample-conf/yarn-site.xml
q0qdq0h2

q0qdq0h22#

它也可能是由配置的错误日志目录位置引起的 yarn.nodemanager.log-dirsyarn-site.xml . 事实上,目录不存在或设置了错误的权限。

niknxzdl

niknxzdl3#

一开始我也有类似的问题。
然后我又发现了另一个问题。当我使用jps命令时,namenode、datanode等进程丢失了。

$jps
13696 Jps
12949 ResourceManager
13116 NodeManager

然后我从下面的解决方案中修复了它,不健康的节点问题被自动修复。

at0kjp5o

at0kjp5o4#

最常见的原因 local-dirs are bad 是由于节点上的可用磁盘空间超过了 max-disk-utilization-per-disk-percentage 的默认值 90.0% .
请清理运行不正常节点的磁盘,或者增加中的阈值 yarn-site.xml ```

yarn.nodemanager.disk-health-checker.max-disk-utilization-per-disk-percentage
98.5

避免禁用磁盘检查,因为当磁盘空间最终耗尽或存在权限问题时,作业可能会失败。有关详细信息,请参阅yarn-site.xml disk checker部分。

### fsck公司

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

hdfs fsck /tmp/hadoop-hduser/nm-local-dir

2o7dmzc5

2o7dmzc55#

我有一个类似的问题,sqoop上传刚刚挂起时,hdfs达到90%。在我为每个磁盘的最大磁盘利用率百分比和警报更改了treshold之后,treshold定义上传又开始工作了。谢谢

ac1kyiln

ac1kyiln6#

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

<property>
   <name>yarn.nodemanager.disk-health-checker.enable</name>
   <value>false</value>
</property>

它可以在我的网站上工作。
和rm/usr/local/hadoop/logs。前任:

rm -rf /usr/local/hadoop/logs
mkdir -p /usr/local/hadoop/logs
ecfsfe2w

ecfsfe2w7#

当磁盘为90%(使用>df)时,我遇到了这种情况,我去掉了不必要的文件,所以它变成了85%(yarn.nodemanager.disk-health-checker.max-disk-utilization-per-disk-percentage的默认设置是使用90%的可用磁盘,如果您不在yarn site.xml中指定),问题就解决了。
其效果类似于将利用率提高到90%以上(因此在我的例子中,压缩额外的可用空间是90%已满),只是为了压缩额外的空间。不过,最好不要超过90%。

相关问题