Hadoop运维记录系列(十)

昨天同事遇到一个hadoop故障,找了半天没看出问题,问到我这里,花了一会解决了一下,估计这是我给暴风的集群解决的最后的故障了,以后就不定给谁解决问题去了。


只截下来了Namenode的报错Log,Datanode的刷屏刷过去了,不过都差不多。

2013-09-03 18:11:44,021 WARN org.apache.hadoop.hdfs.StateChange: BLOCK* NameSystem.blockReceived: blk_8094241928859719036_2147969 is received from dead or unregistered node 192.168.1.99:50010
2013-09-03 18:11:44,022 ERROR org.apache.hadoop.security.UserGroupInformation: PriviledgedActionException as:hdfs cause:java.io.IOException: Got blockReceived message from unregistered or dead node blk_8094241928859719036_2147969
2013-09-03 18:11:44,022 INFO org.apache.hadoop.ipc.Server: IPC Server handler 2 on 9000, call blockReceived(DatanodeRegistration(192.168.1.99:50010, storageID=DS-1925877777-192.168.1.99-50010-1372745739682, infoPort=50075, ipcPort=50020), [Lorg.apache.hadoop.hdfs.protocol.Block;@4ec371c, [Ljava.lang.String;@301611ca) from 192.168.1.99:18853: error: java.io.IOException: Got blockReceived message from unregistered or dead node blk_8094241928859719036_2147969
java.io.IOException: Got blockReceived message from unregistered or dead node blk_8094241928859719036_2147969
        at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.blockReceived(FSNamesystem.java:4188)
        at org.apache.hadoop.hdfs.server.namenode.NameNode.blockReceived(NameNode.java:1069)
        at sun.reflect.GeneratedMethodAccessor13.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
        at java.lang.reflect.Method.invoke(Unknown Source)
        at org.apache.hadoop.ipc.RPC$Server.call(RPC.java:578)
        at org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:1393)
        at org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:1389)
        at java.security.AccessController.doPrivileged(Native Method)
        at javax.security.auth.Subject.doAs(Unknown Source)
        at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1149)
        at org.apache.hadoop.ipc.Server$Handler.run(Server.java:1387)



看上去是个IPC的错误,从下往上看,都是报权限错误,然后无法注册Datanode,还有从未注册或死亡的Datanode上报了一个块已被接收的错误。同事就晕了,已经死亡的node怎么还上报啊。


然后重启datanode时间不长,就又挂掉了。


登录到datanode,先看了一下dfs的数据文件夹的权限,正确无误。然后看了一下df -h,发现/var文件夹满了,OPS很缺,只给分了20G的/var。结果Hadoop的log写不进去了,自然就挂了。删掉/var/log/hadoop/hdfs里面的历史日志,datanode启动正常。以后的解决办法只有两个,要么设置定时脚本每天删历史日志,要么就把/var/log/hadoop/hdfs文件夹软链到一个比较大的硬盘上。


马上要离开暴风影音了,心中有诸多槽点,以后慢慢吐了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值