原因:
hbase shell报错,导致连接Hadoop卡在了
Result result = table.get(get);
过不去,执行shell命令是报错。
bug log:
ERROR: org.apache.hadoop.hbase.ipc.ServerNotRunningYetException: Server is not running yet
at org.apache.hadoop.hbase.master.HMaster.checkServiceStarted(HMaster.java:1868)
at org.apache.hadoop.hbase.master.MasterRpcServices.isMasterRunning(MasterRpcServices.java:845)
at org.apache.hadoop.hbase.protobuf.generated.MasterProtos$MasterService$2.callBlockingMethod(MasterProtos.java:42408)
at org.apache.hadoop.hbase.ipc.RpcServer.call(RpcServer.java:2031)
at org.apache.hadoop.hbase.ipc.CallRunner.run(CallRunner.java:107)
at org.apache.hadoop.hbase.ipc.RpcExecutor.consumerLoop(RpcExecutor.java:130)
at org.apache.hadoop.hbase.ipc.RpcExecutor$1.run(RpcExecutor.java:107)
at java.lang.Thread.run(Thread.java:745)
解决:
网上有说服务没有起来Master和HRegionServer,但我的都没有问题
最后
在Hadoop目录下查看安全模式状态,显示开启:
[****@*** hadoop-2.6.0]$ bin/hdfs dfsadmin -safemode get
直接关闭即可,不用进入root或关闭hbase和Hadoop:
[****@*** hadoop-2.6.0]$ bin/hdfs dfsadmin -safemode leave
安全模式:
当分布式文件系统(HDFS)开始启动时,会有安全模式,HDFS处在安全模式下,文件系统中不允许修改和删除的操作。
安全模式主要是为了系统启动的时候检查各个DataNode上数据块的有效性,同时根据策略必要的复制或者删除部分数据块。