一、问题描述:
hbase 启动完成后,马上jps 可以看到Hmaster 进程;不到几秒钟 再jps 下Hmaster 就消失了;
查看日志报错异常 如下图:
master.HMasterCommandLine: Master exiting
java.lang.RuntimeException: Failed construction of Master: class org.apache.hadoop.hbase.master.HMaster.
at org.apache.hadoop.hbase.master.HMaster.constructMaster(HMaster.java:2796)
at org.apache.hadoop.hbase.master.HMasterCommandLine.startMaster(HMasterCommandLine.java:234)
at org.apache.hadoop.hbase.master.HMasterCommandLine.run(HMasterCommandLine.java:138)
at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:70)
at org.apache.hadoop.hbase.util.ServerCommandLine.doMain(ServerCommandLine.java:127)
at org.apache.hadoop.hbase.master.HMaster.main(HMaster.java:2806)
Caused by: java.lang.VerifyError: Bad return type
二、解决思路
上网百度了一下,提供的几种解决方式:
1、集群时间不统一
2、HADOOP 与HBASE 版本不一致
3、用 zkCli.sh 进行 rmr /hbase 再进行重启
本人问题原因是 hbase 里面的Hadoop jar 包 替换成我安装的hadoop 的 jar时 漏替换了一个jar包 导致的;
本人解决思路:
1.统一集群的服务器时间(这个是必须的,不管能不能解决当前问题 时间一定要统一);
2. 排查hbase的jar包与Hadoop的jar是否有冲突;(大部分启动问题都是配置及jar包问题)
总结:马虎害死人