分享

HBase问题

分布式Hbase启动之后,执行Hbase的shell脚本 status 显示的状态是:0 servers, 0 dead, NaN average load
执行创建表命令就报错:ERROR: org.apache.hadoop.hbase.PleaseHoldException: org.apache.hadoop.hbase.PleaseHoldException: Master is initializing
这个怎么解决呀

已有(5)人评论

跳转到指定楼层
admin 发表于 2013-11-29 18:26:23
有下面几种可能:
(1)查看hadoop进程,是否都安装全了,是否缺少hadoop进程 ,是否都能启动成功。  
(2)停止集群,然后按照顺序启动,也就是重启一下集群
(3)你参考一下面的内容:
hbase中对deadserver处理的问题

hbase在一个regionServer死掉后,即使重启了这个server,deadlist中也不会去掉原先死去的deadserver。
例如:
Java代码  
hbase shell  
>status  
5 servers, 0 dead, 6.2000 average load  
停掉其中一个节点
Java代码  
hbase-daemon.sh stop regionserver  
然后
Java代码  
hbase shell  
>status  
4 servers, 1 dead, 6.2000 average load  
再立即重启该节点:
Java代码  
hbase-daemon.sh start regionserver  
此时回到shell中
Java代码  
hbase shell  
>status  
5 servers, 1 dead, 6.2000 average load  
根本原因是在ServerManager中处理时只有add而没有remove,当然deadlist值有一个上限由hbase.master.maxdeadservers决定,默认为100:
Java代码  
public synchronized boolean add(String e) {  
  this.numProcessing++;  
  // Check to see if we are at capacity for dead servers  
  if (deadServerList.size() == this.maxDeadServers) {  


回复

使用道具 举报

xng2012 发表于 2013-11-29 18:54:54
你的habase进程没有启动成功
回复

使用道具 举报

hyj 发表于 2013-11-29 19:02:18
0 servers表示你的habase没有启动成功
回复

使用道具 举报

hyj 发表于 2013-11-29 21:06:21
hyj 发表于 2013-11-29 19:02
0 servers表示你的habase没有启动成功

正确启动成功,能够看大至少启动一个服务:
查看当前状态.png
这个表示启动3台server,你的一台都没有启动,当然不能建表了
回复

使用道具 举报

finder 发表于 2013-12-2 11:05:05
谢谢各位的指导,最终发现启动失败的原因是因为slave的时间和master的时间不同,把时间改成相同的就可以了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条