Hbase启动以后自动关闭

参考文献:https://blog.csdn.net/embracejava/article/details/53189123

搭建好hbase集群并启动集群后发现,HMaster在启动后几秒内自动关闭,HRegionServer运行正常。

使用jps,刚开始正常出现Hmaster,再使用一次jps,Hmaster消失。
打开日志文件:

2018-12-03 20:06:00,801 INFO  [master/mini4/192.168.48.136:16020] client.ZooKeeperRegistry: ClusterId read in ZooKeeper is null
2018-12-03 20:06:00,807 FATAL [mini4:16020.activeMasterManager] master.HMaster: Failed to become active master
java.net.ConnectException: Call From mini4/192.168.48.136 to mini4:8020 failed on connection exception: java.net.ConnectException: 拒绝连接; For more details see:  http://wiki.apache.org/hadoop/ConnectionRefused
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
        at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
        at org.apache.hadoop.net.NetUtils.wrapWithMessage(NetUtils.java:783)
        at org.apache.hadoop.net.NetUtils.wrapException(NetUtils.java:730)
        at org.apache.hadoop.ipc.Client.call(Client.java:1415)
        at org.apache.hadoop.ipc.Client.call(Client.java:1364)
        at org.apache.hadoop.ipc.ProtobufRpcEngine$Invoker.invoke(ProtobufRpcEngine.java:206)
        at com.sun.proxy.$Proxy16.setSafeMode(Unknown Source)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

错误分析:
从上面的日志可以看出,在连接hadoop1:8020时出错,我们知道8020是hdfs的默认端口,但是我们在配置hadoop集群时在core-site.xml中将hdfs的默认端口改为了9000:

<property>
    <name>fs.defaultFSname>
    <value>hdfs://mini4:9000/value>
property>

再看cort-hdfs.xml

<configuration>
    
    <property>
        <name>hbase.rootdirname>
        <value>hdfs://mini4/hbasevalue>
    property>
configuration>

不难发现,这时候我们并没有指定hdfs的端口,因此,在hbase启动后它会去找hdfs的默认端口8020,于是就导致了上面的错误。

解决方案:
在配置hbase.rootdir属性时显式指定hdfs的端口为9000,配置文件修改如下:

<configuration>
    
    <property>
        <name>hbase.rootdirname>
        <value>hdfs://mini4:9000/hbasevalue>
    property>
configuration>

接下来,重启hbase,问题解决。

你可能感兴趣的:(hbase)