hbase 解决bug 小记
今天启动hbase集群,查看表时报错
hbase(main):001:0>list
TABLE
ERROR:org.apache.hadoop.hbase.ipc.ServerNotRunningYetException:Serverisnotrunningyet
atorg.apache.hadoop.hbase.ipc.RpcServer$Handler.run(RpcServer.java:1841)
Hereissomehelpforthiscommand:
Listalltablesinhbase.Optionalregularexpressionparametercould
beusedtofiltertheoutput.Examples:
hbase>list
hbase>list'abc.*'
所以去查看日志
morehbase-root-master-hadoop1.log
这里面日志比较多,如果你想查看当天的日志
可以使用/2015-05-23(当天时间)
2015-05-2317:00:17,542INFO[master:hadoop1:60000]catalog.CatalogTracker:Failedverificationofhbase:meta,,1ataddress=hadoop3,60020,1431732531994,exception=org.apache.hadoop.hbase.NotServingRegionException:org.apache.hadoop.hbase.NotServingRegionException:Regionisnotonline:1588230740
atorg.apache.hadoop.hbase.regionserver.HRegionServer.getRegionByEncodedName(HRegionServer.java:2576)
atorg.apache.hadoop.hbase.regionserver.HRegionServer.getRegion(HRegionServer.java:3949)
atorg.apache.hadoop.hbase.regionserver.HRegionServer.getRegionInfo(HRegionServer.java:3366)
atorg.apache.hadoop.hbase.protobuf.generated.AdminProtos$AdminService$2.callBlockingMethod(AdminProtos.java:19789)
atorg.apache.hadoop.hbase.ipc.RpcServer.call(RpcServer.java:2146)
atorg.apache.hadoop.hbase.ipc.RpcServer$Handler.run(RpcServer.java:1851)
经查看原因原来是hadoop集群在安全模式的原因
执行命令
hadoopdfsadmin-safemodeleave
再重新启动habase
[root@hadoop1logs]#hbaseshell
2015-05-2317:14:45,609INFO[main]Configuration.deprecation:hadoop.native.libisdeprecated.Instead,useio.native.lib.available
HBaseShell;enter'help<RETURN>'forlistofsupportedcommands.
Type"exit<RETURN>"toleavetheHBaseShell
Version0.96.0-hadoop2,r1531434,FriOct1115:28:08PDT2013
hbase(main):001:0>list
TABLE
gmail
test
2row(s)in4.1420seconds
=>["gmail","test"]
问题解决
-safemodeenter|leave|get|wait安全模式维护命令。安全模式是Namenode的一个状态,这种状态下
1.不接受对名字空间的更改(只读)
2.不复制或删除块
Namenode会在启动时自动进入安全模式,当配置的块最小百分比数满足最小的副本数条件时,会自动离开安全模式。安全模式可以手动进入,但是这样的话也必须手动关闭安全模式。