HBase绑定到错误的地址

时间:2011-11-16 17:59:03

标签: hadoop bind hbase

我正在尝试以伪分布式模式运行HBase。我已经按照本教程中的所有步骤进行了操作。

我的 hbase-site.xml 如下所示:

<configuration>
        <property>
                <name>hbase.rootdir</name>
                <value>hdfs://localhost:9000/hbase</value>
        </property>
        <property>
                <name>dfs.replication</name>
                <value>1</value>
        </property>
</configuration>

我的 regionservers 看起来像这样(默认):

localhost

在日志中,Zookeeper启动OK,MiniZK启动OK,然后我得到 BindException ,这是罪魁祸首:

Caused by: java.net.BindException: Problem binding to /192.168.0.1:0 : Cannot assign requested address

世界上哪里的地址 192.168.0.1 ?为什么它试图绑定到端口0?那个IP是我的NAT网关。它所在机器的IP地址 192.168.0.200

我查看了所有配置文件,但没有看到我指定该地址的任何地方。

任何帮助表示赞赏!提前谢谢!

**更新**

看起来问题是HBase试图通过我的主机名反向查找我的IP地址 - 因为我正在使用我的路由器作为DNS--解决了......我的路由器。

当我在 / etc / hosts 文件中将“别名”添加到127.0.0.1时,它解析得很好。

@ arnon-rotem-gal-oz,我刚刚安装了HBase tarball中的任何内容。我假设miniZK是Zookeeper的缩小版本?我没有运行它的单独实例。

您发布的代码解决了出现的下一个问题。谢谢大家!

1 个答案:

答案 0 :(得分:0)

检查zookeeper配置文件(zookeeper / conf目录中的zoo.cfg) 另外你为什么同时拥有zookeeper和miniZK?

另外(与您的问题没有直接关系)您需要告诉hbase在哪里找到zookeeper,例如将以下内容添加到hbase-site.xml

<property>
  <name>hbase.zookeeper.quorum</name>
  <value>localhost</value>
</property>