目录
一、问题背景
在启动hbase shell 脚本,输入list 查看表的时候出现 如下错误
ERROR: org.apache.hadoop.hbase.ipc.ServerNotRunningYetException: Server is not running yet
at org.apache.hadoop.hbase.master.HMaster.checkServiceStarted(HMaster.java:2731)
at org.apache.hadoop.hbase.master.MasterRpcServices.isMasterRunning(MasterRpcServices.java:1205)
at org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos$MasterService$2.callBlockingMethod(MasterProtos.java)
at org.apache.hadoop.hbase.ipc.RpcServer.call(RpcServer.java:395)
at org.apache.hadoop.hbase.ipc.CallRunner.run(CallRunner.java:133)
at org.apache.hadoop.hbase.ipc.RpcExecutor$Handler.run(RpcExecutor.java:338)
at org.apache.hadoop.hbase.ipc.RpcExecutor$Handler.run(RpcExecutor.java:318)
二、解决办法
首先
,看了网上很多种方法,大部分说的都是hdfs进入安全模式后,
hbase
无法启动,让hadoop
关闭安全模式 ,再重新启动HBase就可以了
1、查看namenode是否是安全状态
hadoop dfsadmin -safemode get
若为Safe mode is OFF,则为关闭状态若是 Safe mode is ON 则是启用状态,需要关闭
2、关闭安全模式hadoop dfsadmin -safemode leave
我试了这种方法,但是我的原本就是关闭状态,此方法没有解决我的问题。
其次
,我的hadoop是3.3.0,hbase是2.4.3 ,我安装的时候就是按照hbase官网上,官网上说的是hadoop3.3.X对应hbase2.4.x是兼容的,但是看了网上一些资料说的是版本不兼容问题,说是hadoop3.3.X对应hbase2.3.x和hbase2.4.x都是不兼容的,需要重新更换hadoop的版本,但是我觉得太难安装了,就没有尝试
最后,
看见了一个问答说的是在hbase的配置文件hbase-site.xml 增加一些配置就解决了,我跟着做了,终于解决了
具体方法如下:
1. 停止hbase集群
2. 在配置文件hbase-site.xml 文件中增加如下配置
<property>
<name>hbase.wal.provider</name>
<value>filesystem</value>
</property>3. 从启hbase集群
我用的就是第二种方法解决的