使用hbase中遇到的问题

本文解决HBase启动时报错'Serverisnotrunningyet'及'Can'tgetmasteraddressfromZooKeeper;znodedata==null'的问题。通过退出Hadoop安全模式和在hbase-site.xml中正确配置Zookeeper数据目录来解决。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  1. list时报错:
ERROR: org.apache.hadoop.hbase.ipc.ServerNotRunningYetException: Server is not running yet
    at org.apache.hadoop.hbase.master.HMaster.checkServiceStarted(HMaster.java:2382)
    at org.apache.hadoop.hbase.master.MasterRpcServices.isMasterRunning(MasterRpcServices.java:931)
    at org.apache.hadoop.hbase.protobuf.generated.MasterProtos$MasterService$2.callBlockingMethod(MasterProtos.java:55654)
    at org.apache.hadoop.hbase.ipc.RpcServer.call(RpcServer.java:2205)
    at org.apache.hadoop.hbase.ipc.CallRunner.run(CallRunner.java:112)
    at org.apache.hadoop.hbase.ipc.RpcExecutor.consumerLoop(RpcExecutor.java:133)
    at org.apache.hadoop.hbase.ipc.RpcExecutor$1.run(RpcExecutor.java:108)
    at java.lang.Thread.run(Thread.java:748)

根据网上找到的解决方案,说是因为hadoop进入安全模式。执行以下命令

hadoop dfsadmin -safemode leave 

但是又出现报错

ERROR: Can't get master address from ZooKeeper; znode data == null

这是因为zookeeper不稳定造成的,解决方法:在hbase-site.xml文件中加入以下内容:

<property>
    <name>hbase.zookeeper.property.dataDir</name>
    <value>/home/zookeeperData</value>
 </property>

重启hbase,如果还不行,重启hadoop