2015-10-14 498 views
4

全部。Hadoop namenode无法退出安全模式

我使用hadoop2.6.0。

当我逼的Hadoop离开安全模式下,使用hdfs dfsadmin -safemode leave,它显示Safe mode is OFF,但我仍然无法删除该文件在目录中,结果表明: rm: Cannot delete /mei/app-20151013055617-0001-614d554c-cc04-4800-9be8-7d9b3fd3fcef. Name node is in safe mode. 我尝试使用来解决这个问题上市的方式在互联网上,这是行不通的......

我使用命令“HDFS dfsadmin -report”,它显示:

Safe mode is ON 
    Configured Capacity: 52710469632 (49.09 GB) 
    Present Capacity: 213811200 (203.91 MB) 
    DFS Remaining: 0 (0 B) 
    DFS Used: 213811200 (203.91 MB) 
    DFS Used%: 100.00% 
    Under replicated blocks: 39 
    Blocks with corrupt replicas: 0 
    Missing blocks: 0 

    ------------------------------------------------- 
    Live datanodes (1): 

    Name: 127.0.0.1:50010 (bdrhel6) 
    Hostname: bdrhel6 
    Decommission Status : Normal 
    Configured Capacity: 52710469632 (49.09 GB) 
    DFS Used: 213811200 (203.91 MB) 
    Non DFS Used: 52496658432 (48.89 GB) 
    DFS Remaining: 0 (0 B) 
    DFS Used%: 0.41% 
    DFS Remaining%: 0.00% 
    Configured Cache Capacity: 0 (0 B) 
    Cache Used: 0 (0 B) 
    Cache Remaining: 0 (0 B) 
    Cache Used%: 100.00% 
    Cache Remaining%: 0.00% 
    Xceivers: 1 
    Last contact: Wed Oct 14 03:30:33 EDT 2015 

有没有人有同样的问题?

对此有任何帮助。

+0

看来,数据节点没有足够的内存来存储数据了。释放内存或在群集中添加另一个数据节点。 – Kumar

回答

5

Safemode是在该文件系统被安装只读一个HDFS状态;不执行复制,也不能创建或删除文件。这被自动输入作为NameNode开始,让所有DataNodes时间与NameNode会检查并宣布他们持有该区块中,NameNode确定哪些块被下复制等。NameNode前一直等到有特定百分比的街区出现并入账;这在配置中由dfs.safemode.threshold.pct parameter控制。在这之后,threshold被满足,safemode被自动退出,并且HDFS允许正常操作。

1. Below command forces the NameNode to exit safemode 

    hdfs dfsadmin -safemode leave 

2. Run hdfs fsck -move or hdfs fsck -delete to move or delete corrupted files. 

根据报告,似乎资源在NN上很低。添加或释放更多资源,然后手动关闭safe modeIf you turn off safe mode before adding more resources or freeing up resource, the NameNode will immediately return to safe mode

参考:

  1. Hadoop Tutorial-YDN

  2. fsck