您的位置:首页 > 其它

hbase中hmaster启动不起来

2014-04-29 21:36 253 查看
环境hadoop1.2.1  zookpeer3.4.5  

前几个月装的hbase 当时还是基本可以使用的,装的版本是0.98.0, 当初是考虑到它和hadoop1.2.1 是兼容的, 不指导是配置的原因还是别的,端口访问60010时候老出错,但是hbase却还能使用建表查询等操作,最近一直在研究别的技术,也没好好折腾这玩意,今天终于想折腾一下了,却不知名的原因Hmaster启动不起来了,当时心思是不想用0.98.0了,一个测试版对研究hbase不是很好,与是删掉重装habse稳定版0.94.18结果悲剧了一整天!

   老原因:依旧是Hmaster 启动后自己就挂掉了, 浏览器不能访问60010端口

  日志异常 :

FATAL org.apache.hadoop.hbase.master.HMaster: Unhandled exception. Starting shutdown.

java.lang.IllegalArgumentException: PBUF

        at org.apache.hadoop.hbase.zookeeper.ZKTableReadOnly.getTableState(ZKTableReadOnly.java:152)

        at org.apache.hadoop.hbase.zookeeper.ZKTable.getTableState(ZKTable.java:109)

        at org.apache.hadoop.hbase.zookeeper.ZKTable.populateTableStates(ZKTable.java:94)

        at org.apache.hadoop.hbase.zookeeper.ZKTable.<init>(ZKTable.java:80)

        at org.apache.hadoop.hbase.master.AssignmentManager.<init>(AssignmentManager.java:223)

        at org.apache.hadoop.hbase.master.HMaster.initializeZKBasedSystemTrackers(HMaster.java:505)

        at org.apache.hadoop.hbase.master.HMaster.finishInitialization(HMaster.java:589)

        at org.apache.hadoop.hbase.master.HMaster.run(HMaster.java:433)

        at java.lang.Thread.run(Thread.java:744)

java.lang.RuntimeException: HMaster Aborted
        at org.apache.hadoop.hbase.master.HMasterCommandLine.startMaster(HMasterCommandLine.java:160)
        at org.apache.hadoop.hbase.master.HMasterCommandLine.run(HMasterCommandLine.java:104)
        at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:65)
        at org.apache.hadoop.hbase.util.ServerCommandLine.doMain(ServerCommandLine.java:76)
        at org.apache.hadoop.hbase.master.HMaster.main(HMaster.java:2129)
Tue Apr 29 16:27:57 CST 2014 Stopping hbase (via master)

类似该异常的出现网上还是有几篇文章的,本人搜索了个遍,回答有如下几种:有说是版本兼容问题,有说是HDFS的问题

我也检查了一下版本(检查hbase的lib下hadoop-core.jar是否与你hadoop的版本是否相同,不相同的话就将hadoop中的hadoop-core.jar 替换掉你hbase、lib下的那个)

我也重新格式化过namenode,  似乎都与我的异常不符合。

其实异常给出的已经很明显了,是我的zookpeer出现了问题,

于是查看zookpeer。

在每个机器调用jps,结果都有QuorumPeerMain进程,似乎没错啊!  然后在zookpeer中添加删除数据,结果其他节点都能正常同步,这是什么情况:  苦逼就苦逼在这了,

查看zookpeer的logs结果发现的确有些小问题, 问题的异常我给删掉了,实在很抱歉不能贴在这,

但原因是zoo.cfg 中的dataDir的路径的问题,现在我也很郁闷路径都有问题那你(zookeeper)还能同步数据?

哎,最后重新更改了下路径dataDir=/usr/local/zk/data  并data里建好myid 并设置好参数

重启hadoop zookeeper

再重启hbase  结果一切都OK了, 哎!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息