Fork me on GitHub

hbase 多网卡问题

背景

有一个hbase集群,部署在两台机器上,两台机器上有两个网卡,一个通外网一个通内网,现在我们远程连接使用外网连接hbase。hbase版本是1.1版本,hbase集群有一个active master,一个standby master,一个region server。

问题

连接不到hbase,一直超时重试

原因

集群中Hmaster绑定的ip是内网,导致连接不通,但是查看hbase-site.xml,不能找到修改绑定ip的配置,0.9的hbase是可以修改hbase.master配置,这个版本的hbase只能修改绑定的端口,至于ip如何确定,这个版本的hbase,是根据本机名的hostname的第一个匹配的ip进行绑定的。

解决

修改hbase集群master机器的/etc/hosts中的配置,将外网ip绑定到本机名放在第一个。启动之后还是有问题,是在重启的过程中,hbase的状态变为了下面的情况

hbase(main):001:0> status

ERROR: org.apache.hadoop.hbase.PleaseHoldException: Master is initializing
    at org.apache.hadoop.hbase.master.HMaster.checkInitialized(HMaster.java:1889)
    at org.apache.hadoop.hbase.master.MasterRpcServices.getClusterStatus(MasterRpcServices.java:695)
    at org.apache.hadoop.hbase.protobuf.generated.MasterProtos$MasterService$2.callBlockingMethod(MasterProtos.java:42406)
    at org.apache.hadoop.hbase.ipc.RpcServer.call(RpcServer.java:2033)
    at org.apache.hadoop.hbase.ipc.CallRunner.run(CallRunner.java:107)
    at org.apache.hadoop.hbase.ipc.RpcExecutor.consumerLoop(RpcExecutor.java:130)
    at org.apache.hadoop.hbase.ipc.RpcExecutor$1.run(RpcExecutor.java:107)
    at java.lang.Thread.run(Thread.java:745)

解决办法:将zookeeper中的hbase目录删除rmr hbase,然后重启hbase集群


最新评论

    还没有人评论...

当当

友情链接

Powered by Python. Copyright © 2017.

鄂ICP备17010875号. All rights reserved.