配置HBASE2.4版本高可用使用外部zookeeper时遇到的问题
Posted EEEurekaaa!
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了配置HBASE2.4版本高可用使用外部zookeeper时遇到的问题相关的知识,希望对你有一定的参考价值。
最近在配置hbase高可用(使用外部zookeeper)时,发现网上并没有现成的资料。下面是踩坑过程:
坑:
起初在hbase-site.xml直接将hdfs的文件目录以及端口直接写死,如下图
日志报错内容:
java.net.ConnectException: Call From node1/192.168.173.131 to node1:9000 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:824)
at org.apache.hadoop.net.NetUtils.wrapException(NetUtils.java:754)
at org.apache.hadoop.ipc.Client.getRpcResponse(Client.java:1544)
at org.apache.hadoop.ipc.Client.call(Client.java:1486)
at org.apache.hadoop.ipc.Client.call(Client.java:1385)
at org.apache.hadoop.ipc.ProtobufRpcEngine$Invoker.invoke(ProtobufRpcEngine.java:232)
at org.apache.hadoop.ipc.ProtobufRpcEngine$Invoker.invoke(ProtobufRpcEngine.java:118)
at com.sun.proxy.$Proxy19.setSafeMode(Unknown Source)
at org.apache.hadoop.hdfs.protocolPB.ClientNamenodeProtocolTranslatorPB.setSafeMode(ClientNamenodeProtocolTranslatorPB.java:695)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
原因:
由于使用的是外部zookeeper,在启动的时候由于zookeeper的选举机制选举的namenode的active节点非node1时,会导致hbase访问hdfs时会被拒绝。因此进入不了hbase的webui界面。
解决方案:
之后不写定master和文件目录的主机名,如下图
这样修改之后,hbase无法正常识别ns1是什么,所以我们还需要将hadoop中的core-site.xml文件和hdfs-site.xml文件移动到hbase/conf目录下。之后问题解决
此外真正的高可用还需要在hbase的conf目录下再添加一个back-msters文件,即备用master
以上是关于配置HBASE2.4版本高可用使用外部zookeeper时遇到的问题的主要内容,如果未能解决你的问题,请参考以下文章