hbase运行时ERROR:org.apache.hadoop.hbase.PleaseHoldException:Master is initializing的解决方法

hbase运行时ERROR:org.apache.hadoop.hbase.PleaseHoldException:Master is initializing的解决方法

最终解决了,其实我心中有一句MMP。

版本:

hadoop 2.6.4 + hbase0.98 

第一个问题,端口问题8020 

hadoop默认的namenode 资源子接口是8020 端口,然后我这接口已经改成了9000.但是不知道为啥 hbase 还是去找那个8020

hbase运行时ERROR:org.apache.hadoop.hbase.PleaseHoldException:Master is initializing的解决方法

 解决办法把那个rootdir 换成root.dir 

解决了,但是发现Hmaster 总是启动之后 ,一段时间之后就挂了,

然后还出现了zk中找不到master,

hbase运行时ERROR:org.apache.hadoop.hbase.PleaseHoldException:Master is initializing的解决方法

ERROR: org.apache.hadoop.hbase.PleaseHoldException: Master is initializing
    at org.apache.hadoop.hbase.master.HMaster.checkInitialized(HMaster.java:1869)
    at org.apache.hadoop.hbase.master.MasterRpcServices.getTableDescriptors(MasterRpcServices.java:775)
    at org.apache.hadoop.hbase.protobuf.generated.MasterProtos$MasterService$2.callBlockingMethod(MasterProtos.java:42402)
    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:744)

Here is some help for this command:
List all tables in hbase. Optional regular expression parameter could
be used to filter the output. Examples:
  hbase> list
  hbase> list 'abc.*'
  hbase> list 'ns:abc.*'
  hbase> list 'ns:.*'
出现这种问题的原因是因为多台节点的时间不同步,导致节点之间的连接时间超时,这时只需要通过 ntpdate 0.cn.pool.ntp.org 命令使各个节点的时间跟网络时间同步即可

在完成上部操作之后,重启hbase服务时又会报错:

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

Here is some help for this command:
List all tables in hbase. Optional regular expression parameter could
be used to filter the output. Examples:
  hbase> list
  hbase> list 'abc.*'
  hbase> list 'ns:abc.*'
  hbase> list 'ns:.*'

这时,出现的问题是由于节点多次或长期挂起导致的zookeeper不稳定,我们可以通过多次重启hbase服务或者是格式化namenode和DataNode,解决问题

 大致就是上面那样解决的!