【问题标题】:Hbase Multiple Master issueHbase 多主问题
【发布时间】:2011-11-01 07:48:49
【问题描述】:

我正在评估 HBase Multiple master 实用程序,因为我需要该功能。我使用了一个简单的 4 机 hbase 集群,以 M1 作为 master。现在我也在 M4 中启动了 Hmaster。我可以在 M4 Master 日志中看到日志,因为这个 HMaster 正在等待,因为 M1 已经在充当 HMaster。

在这之后,我在 M1 中停止了 Master,几秒钟后,M4 主人接管了。但是我没有看到任何区域服务器与这个新的主服务器通信。区域服务器日志显示,

2011-10-31 23:21:18,834 WARN org.apache.hadoop.hbase.regionserver.HRegionServer: Unable to connect to master. Retrying. Error was: 
java.net.ConnectException: Connection refused 
        at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method) 
        at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:574) 
        at org.apache.hadoop.net.SocketIOWithTimeout.connect(SocketIOWithTimeout.java:206) 
        at org.apache.hadoop.net.NetUtils.connect(NetUtils.java:404) 
        at org.apache.hadoop.hbase.ipc.HBaseClient$Connection.setupIOstreams(HBaseClient.java:311) 
        at org.apache.hadoop.hbase.ipc.HBaseClient.getConnection(HBaseClient.java:865) 
        at org.apache.hadoop.hbase.ipc.HBaseClient.call(HBaseClient.java:732) 
        at org.apache.hadoop.hbase.ipc.HBaseRPC$Invoker.invoke(HBaseRPC.java:257) 
        at $Proxy3.getProtocolVersion(Unknown Source) 
        at org.apache.hadoop.hbase.ipc.HBaseRPC.getProxy(HBaseRPC.java:419) 
        at org.apache.hadoop.hbase.ipc.HBaseRPC.getProxy(HBaseRPC.java:393) 
        at org.apache.hadoop.hbase.ipc.HBaseRPC.getProxy(HBaseRPC.java:444) 
        at org.apache.hadoop.hbase.ipc.HBaseRPC.waitForProxy(HBaseRPC.java:349) 
        at org.apache.hadoop.hbase.regionserver.HRegionServer.getMaster(HRegionServer.java:1443) 
        at org.apache.hadoop.hbase.regionserver.HRegionServer.tryRegionServerReport(HRegionServer.java:737) 
        at org.apache.hadoop.hbase.regionserver.HRegionServer.run(HRegionServer.java:586) 
        at java.lang.Thread.run(Thread.java:619) 

在我看到的 M4 Master 日志中,

2011-10-31 23:20:47,671 INFO org.apache.hadoop.http.HttpServer: listener.getLocalPort() returned 60010 webServer.getConnectors()[0].getLocalPort() returned 60010 
2011-10-31 23:20:47,671 INFO org.apache.hadoop.http.HttpServer: Jetty bound to port 60010 
2011-10-31 23:20:47,671 INFO org.mortbay.log: jetty-6.1.26 
2011-10-31 23:20:48,691 INFO org.mortbay.log: Started SelectChannelConnector@0.0.0.0:60010 
2011-10-31 23:20:48,691 DEBUG org.apache.hadoop.hbase.master.HMaster: Started service threads 
2011-10-31 23:20:50,192 INFO org.apache.hadoop.hbase.master.ServerManager: Waiting on regionserver(s) to checkin 
2011-10-31 23:20:51,695 INFO org.apache.hadoop.hbase.master.ServerManager: Waiting on regionserver(s) to checkin 
2011-10-31 23:20:53,197 INFO org.apache.hadoop.hbase.master.ServerManager: Waiting on regionserver(s) to checkin 

似乎区域服务器仅与 M1 Hmaster 通信,而不与新 Hmaster 通信!

我正在使用 Hbase - 0.90.0 版本

非常感谢您对此的任何帮助!

【问题讨论】:

  • 今天看到zookeeper确认新的master是否在里面注册。刚刚使用了 zk_dump,新的主节点作为 Zookeeper 中的当前主节点存在。但是区域服务器仍然没有考虑到这一点。我希望区域服务器会通过与动物园管理员通信来更新其中的主信息。但这里似乎没有发生。有什么建议吗!!!

标签: hbase


【解决方案1】:

这似乎适用于 Hbase 0.90.3。不过需要验证!!

http://old.nabble.com/Hbase-Multiple-Master-issue-td32757197.html#a32758542

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-12-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多