Java HDFS抱怨说;NN上的资源不足”;当我有足够的空闲空间时进入安全模式

Java HDFS抱怨说;NN上的资源不足”;当我有足够的空闲空间时进入安全模式,java,apache,hadoop,hdfs,Java,Apache,Hadoop,Hdfs,我在Ubuntu 16.04.3 LTS上使用hadoop-2.6.0,在我的测试环境中一切都很顺利。但是,在生产环境中运行时,我的HDFS反复抱怨没有足够的空间容纳namenode,HDFS已进入安全模式 2017-11-25 14:00:48731警告org.apache.hadoop.hdfs.server.namenode.FSNamesystem:namenode可用磁盘空间不足。已经处于安全模式 2017-11-25 14:00:48731 INFO org.apache.hadoo

我在Ubuntu 16.04.3 LTS上使用hadoop-2.6.0,在我的测试环境中一切都很顺利。但是,在生产环境中运行时,我的HDFS反复抱怨没有足够的空间容纳namenode,HDFS已进入安全模式

2017-11-25 14:00:48731警告org.apache.hadoop.hdfs.server.namenode.FSNamesystem:namenode可用磁盘空间不足。已经处于安全模式

2017-11-25 14:00:48731 INFO org.apache.hadoop.hdfs.StateChange:STATE*安全模式为on,资源在NN上不足。请添加或释放更多资源,然后手动关闭安全模式。注: 如果在添加资源之前关闭安全模式,NN将立即返回安全模式。使用“hdfs dfsadmin-safemode leave”关闭安全模式

2017-11-25 14:00:53732警告org.apache.hadoop.hdfs.server.namenode.NameNodeResourceChecker:卷“/home/hadoop/.Private”上的可用空间为0,低于配置的保留空间 安装104857600

但事实是我有足够的空间

已使用的文件系统大小可用已安装的文件系统%

udev 63G 0 63G 0%/开发

tmpfs 13G 33M 13G 1%/运行

/dev/mapper/hdfsmaster--vg根目录7.1T 1.3T 5.6T 19%/

tmpfs 63G 4.0K 63G 1%/dev/shm

tmpfs 5.0M 0.0M 0%/运行/锁定

tmpfs 63G 0 63G 0%/sys/fs/cgroup

/dev/sda2 473M 55M 394M 13%/开机

/dev/sda1 511M 4.0K 511M 1%/boot/efi

/home/hadoop/.Private 7.1T 1.3T 5.6T 19%/home/hadoop

HDFS数据/名称目录都在/home/hadoop目录中

HDFS可以成功启动,并且在开始时未处于安全模式。但一段时间后(比如5、6小时),即使我没有执行任何操作(读/写/查询),它也会抱怨空间不足,并自动进入安全模式

我试过:

  • 重新启动hdfs
  • 重新启动服务器
  • 重新格式化名称节点
  • 更改数据/名称文件夹并重新启动hdfs
  • 上述方法都没有帮助


    请帮忙!这简直要了我的命

    你找到解决办法了吗?面对同样的问题here@SebastianKaczmarek我的情况是,我将hadoop tarball解压到用户的主目录中,比如/home/hadoop,并将hdfs的数据目录设置为home dir的子文件夹。我还启用了ubuntu的加密磁盘功能。因此,在这种情况下,当用户“hadoop”的所有登录会话断开连接时,用户的主目录将变得不可访问,因此hdfs无法访问其数据目录,因此出现错误。解决方案是重新定位hdfs二进制文件,并将其数据目录设置到其他地方。希望这有帮助。谢谢你的留言。我已经发现了这个问题。由于磁盘使用率高,我的Hadoop正在进入安全模式。我不明白为什么会发生这种情况,因为每次我做df-h时都有足够的空间。所以我写了一个小脚本并添加到crontab中。事实证明,Hadoop的磁盘空间确实很低,因为备份作业每天晚上都在运行,而且磁盘使用率有时会跃升到99%。我不敢相信原因如此简单,我错过了:P无论如何,Hadoop进入安全模式是正确的;P