文章结束给大家来个程序员笑话:[M]

涌现问题后以先查看志日,以下是见常的错误情况

    

1 址地占用

org.apache.hadoop.hdfs.server.namenode.NameNode: Address already in use



找查被占用的端口号对应的PID   : netstat -tunl

pkill  -9   PID在实行不就killall -9  java

    

2 safemode

bin/hadoop fs -put ./input input
put: org.apache.hadoop.hdfs.server.namenode.SafeModeException: Cannot create directory /user/root/input. Name node is in safe mode.
hadoop dfsadmin -safemode leave

解决方法:

   

NameNode在启动的时候首先进入安全式模,如果datanode丧失的block到达必定的比例(1-dfs.safemode.threshold.pct),则统系会直一处于安全式模态状即只读态状。

dfs.safemode.threshold.pct(缺省值0.999f)示表HDFS启动的时候,如果DataNode上报的block个数到达了元数据记载的block个数的0.999倍才可以分开安全式模,否则直一是这类只读式模。如果设为1则HDFS永远是处于SafeMode。

面下这行摘录自NameNode启动时的志日(block上报比例1到达了阀值0.9990)

The ratio of reported blocks 1.0000 has reached the threshold 0.9990. Safe mode will be turned off automatically in 18 seconds.

有两个方法分开这类安全式模

(1)修改dfs.safemode.threshold.pct为一个比较小的值,缺省是0.999。



    (2)hadoop dfsadmin -safemode leave命令强制分开

用户可以通过dfsadmin -safemode value  来作操安全式模,数参value的说明如下:

enter - 进入安全式模

leave - 强制NameNode分开安全式模

    get -  返回安全式模是不是开启的信息
wait - 待等,直一到安全式模结束。

    

3 could only be replicated to 0 nodes, instead of 1

    

hdfs.DFSClient: DataStreamer Exception: org.apache.hadoop
.ipc.RemoteException: java.io.IOException: ... could only be replicated to 0 nodes, instead of 1 ...

可能涌现的景象:用jps查看进程都畸形。但是用web查看的话,live nodes为0. 这说明datanode没有畸形启动,但是datanode进程又启动了。

解决方法:

(1)防火墙原因

(2)磁盘空间原因

df –ah  #查看磁盘空间

如果是磁盘空间够不,则调整磁盘空间(像我就是磁盘空间够不)

hadoop占用空间 hadoop磁盘空间不足_大数据

    



如果上述方法行不,用以下方法( 只不过会丧失掉已有数据,请郑重用使 )



    

  • 先行运stop-all.sh

    

  • 格式化namdenode,不过在这之前要先删除原录目,即core-site.xml下配置的<name>hadoop.tmp.dir</name>所向指的录目,删除后切纪要从新建立配置的空录目,然后行运hadoop namenode -format。为了便方删除,我写了一个sh脚原来一统行执(这里连log志日文件一并删除了):

    

hadoop占用空间 hadoop磁盘空间不足_大数据_02

    

  • 行运start-all.sh




文章结束给大家分享下程序员的一些笑话语录: 看新闻说中国输入法全球第一!领先了又如何?西方文字根本不需要输入法。一点可比性都没有。