我正试图在我的电脑上安装一个单节点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
怎么了?
mzmfm0qo1#
在安装了hadoop的macos上 brew 我得换衣服 /usr/local/Cellar/hadoop/2.8.1/libexec/etc/hadoop/yarn-site.xml 包括以下内容:
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
$ 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
q0qdq0h22#
它也可能是由配置的错误日志目录位置引起的 yarn.nodemanager.log-dirs 在 yarn-site.xml . 事实上,目录不存在或设置了错误的权限。
yarn.nodemanager.log-dirs
yarn-site.xml
niknxzdl3#
一开始我也有类似的问题。然后我又发现了另一个问题。当我使用jps命令时,namenode、datanode等进程丢失了。
$jps 13696 Jps 12949 ResourceManager 13116 NodeManager
然后我从下面的解决方案中修复了它,不健康的节点问题被自动修复。
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-percentage98.5
local-dirs are bad
max-disk-utilization-per-disk-percentage
90.0%
避免禁用磁盘检查,因为当磁盘空间最终耗尽或存在权限问题时,作业可能会失败。有关详细信息,请参阅yarn-site.xml disk checker部分。 ### fsck公司 如果怀疑目录中存在文件系统错误,可以通过运行
hdfs fsck /tmp/hadoop-hduser/nm-local-dir
2o7dmzc55#
我有一个类似的问题,sqoop上传刚刚挂起时,hdfs达到90%。在我为每个磁盘的最大磁盘利用率百分比和警报更改了treshold之后,treshold定义上传又开始工作了。谢谢
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
ecfsfe2w7#
当磁盘为90%(使用>df)时,我遇到了这种情况,我去掉了不必要的文件,所以它变成了85%(yarn.nodemanager.disk-health-checker.max-disk-utilization-per-disk-percentage的默认设置是使用90%的可用磁盘,如果您不在yarn site.xml中指定),问题就解决了。其效果类似于将利用率提高到90%以上(因此在我的例子中,压缩额外的可用空间是90%已满),只是为了压缩额外的空间。不过,最好不要超过90%。
7条答案
按热度按时间mzmfm0qo1#
在安装了hadoop的macos上
brew
我得换衣服/usr/local/Cellar/hadoop/2.8.1/libexec/etc/hadoop/yarn-site.xml
包括以下内容:该设置基本上完全关闭了磁盘运行状况检查
我是用
brew list hadoop
.q0qdq0h22#
它也可能是由配置的错误日志目录位置引起的
yarn.nodemanager.log-dirs
在yarn-site.xml
. 事实上,目录不存在或设置了错误的权限。niknxzdl3#
一开始我也有类似的问题。
然后我又发现了另一个问题。当我使用jps命令时,namenode、datanode等进程丢失了。
然后我从下面的解决方案中修复了它,不健康的节点问题被自动修复。
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
hdfs fsck /tmp/hadoop-hduser/nm-local-dir
2o7dmzc55#
我有一个类似的问题,sqoop上传刚刚挂起时,hdfs达到90%。在我为每个磁盘的最大磁盘利用率百分比和警报更改了treshold之后,treshold定义上传又开始工作了。谢谢
ac1kyiln6#
请尝试在yarn-site.xml中添加配置
它可以在我的网站上工作。
和rm/usr/local/hadoop/logs。前任:
ecfsfe2w7#
当磁盘为90%(使用>df)时,我遇到了这种情况,我去掉了不必要的文件,所以它变成了85%(yarn.nodemanager.disk-health-checker.max-disk-utilization-per-disk-percentage的默认设置是使用90%的可用磁盘,如果您不在yarn site.xml中指定),问题就解决了。
其效果类似于将利用率提高到90%以上(因此在我的例子中,压缩额外的可用空间是90%已满),只是为了压缩额外的空间。不过,最好不要超过90%。