【问题标题】:HBase binding to an incorrect addressHBase 绑定到不正确的地址
【发布时间】:2011-11-16 17:59:02
【问题描述】:

我正在尝试以伪分布式模式运行 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 启动正常,MiniZK 启动正常,然后我得到一个 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 压缩包中的任何内容。我假设 miniZK 是 Zookeeper 的缩小版?我没有运行它的单独实例。

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

【问题讨论】:

  • 你的 /etc/hosts 里有什么奇怪的东西吗?
  • 我也这么认为,但是:127.0.0.1 localhost.localdomain localhost ::1 localhost6.localdomain6 localhost6(对不起,它被混在一起了——不允许我标记)

标签: hadoop bind hbase


【解决方案1】:

查看zookeeper配置文件(zookeeper/conf目录下的zoo.cfg) 还有为什么你同时拥有 zookeeper 和 miniZK?

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

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

【讨论】:

    猜你喜欢
    • 2010-09-14
    • 1970-01-01
    • 2014-05-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-14
    相关资源
    最近更新 更多