天天看點

hadoop hbase無法啟動 2

今天又碰到的問題:

Not able to place enough replicas

2015-02-08 18:35:43,978 ERROR org.apache.hadoop.security.UserGroupInformation: PriviledgedActionException as:web cause:java.io.IOException: File /hbase/aaaa/fbade52c03733ec2aa6d5355052d9c89/recovered.edits/0000000000004181150.temp could only be replicated to 0 nodes, instead of 1

2015-02-08 18:35:43,978 INFO org.apache.hadoop.ipc.Server: IPC Server handler 4 on 8020, call addBlock(/hbase/aaaa/fbade52c03733ec2aa6d5355052d9c89/recovered.edits/0000000000004181150.temp, DFSClient_hb_m_m66,60000,1423391732102, null) from 192.168.0.66:42030: error: java.io.IOException: File /hbase/aaaa/fbade52c03733ec2aa6d5355052d9c89/recovered.edits/0000000000004181150.temp could only be replicated to 0 nodes, instead of 1

java.io.IOException: File /hbase/aaaa/fbade52c03733ec2aa6d5355052d9c89/recovered.edits/0000000000004181150.temp could only be replicated to 0 nodes, instead of 1

        at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.getAdditionalBlock(FSNamesystem.java:1920)

        at org.apache.hadoop.hdfs.server.namenode.NameNode.addBlock(NameNode.java:783)

        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)

        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

        at java.lang.reflect.Method.invoke(Method.java:597)

        at org.apache.hadoop.ipc.RPC$Server.call(RPC.java:587)

        at org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:1432)

        at org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:1428)

        at java.security.AccessController.doPrivileged(Native Method)

        at javax.security.auth.Subject.doAs(Subject.java:396)

        at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1190)

        at org.apache.hadoop.ipc.Server$Handler.run(Server.java:1426)

2015-02-08 18:35:44,014 WARN org.apache.hadoop.hdfs.server.namenode.FSNamesystem: Not able to place enough replicas, still in need of 3 to reach 3

2015-02-08 18:35:44,014 ERROR org.apache.hadoop.security.UserGroupInformation: PriviledgedActionException as:web cause:java.io.IOException: File /hbase/.META./1028785192/recovered.edits/0000000000004125376.temp could only be replicated to 0 nodes, instead of 1

2015-02-08 18:35:44,014 INFO org.apache.hadoop.ipc.Server: IPC Server handler 5 on 8020, call addBlock(/hbase/.META./1028785192/recovered.edits/0000000000004125376.temp, DFSClient_hb_m_m66,60000,1423391732102, null) from 192.168.0.66:42030: error: java.io.IOException: File /hbase/.META./1028785192/recovered.edits/0000000000004125376.temp could only be replicated to 0 nodes, instead of 1

java.io.IOException: File /hbase/.META./1028785192/recovered.edits/0000000000004125376.temp could only be replicated to 0 nodes, instead of 1

重新開機了n多邊都沒有效果。

删除之,發現你啟動hmaster後該檔案依然存在,删除後又恢複了。

幹脆連着目錄一起删除,ok

./hadoop fs -rmr  /hbase/aaaa/8aab6d49ca2235530d7bf992dcb15e55

 ./hadoop fs -rmr  /hbase/.META./1028785192

再次啟動hmaser ok

 ./hbase-daemon.sh start master

jps檢視 ok hmaster啟動起來了。 

咳,hadoop啊,想不暴力都難!! 

該死,原來以為都ok了,同僚測試的時候發現問題:

./hbase shell

list

可以看到表

可是掃描表的時候說表不存在。

立馬想到是hbase本身出了問題。

果斷修複

./hbase hbck

發現存在空洞不連續的情況。

./hbase hbck -fixMeta -fixAssignments

./hbase hbck -repair

修複完成後,再次./hbase hbck 發現還是有問題。

再一次./hbase hbck -repair

這次居然都ok了。

重新啟動shell,掃描表。現在ok.了

重新開機hbase發現,hbase程序無法關閉,關閉用戶端程序,ok了。

再次啟動,突然發現包其中一台空間滿了,暈,果斷修複。

最後啟動應用,居然調用都正常了。

真是峰回路轉,變化萬千。 心裡暗暗罵一個,shit.

繼續閱讀