Hadoop HBase绑定到错误的地址
我正在尝试以伪分布式模式运行HBase。我已经完成了教程中的所有步骤 我的hbase site.xml如下所示:Hadoop HBase绑定到错误的地址,hadoop,bind,hbase,Hadoop,Bind,Hbase,我正在尝试以伪分布式模式运行HBase。我已经完成了教程中的所有步骤 我的hbase site.xml如下所示: <configuration> <property> <name>hbase.rootdir</name> <value>hdfs://localhost:9000/hbase</value> </propert
<configuration>
<property>
<name>hbase.rootdir</name>
<value>hdfs://localhost:9000/hbase</value>
</property>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>
在日志中,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 tarball中的任何东西。我假设miniZK是Zookeeper的缩小版?我没有运行它的单独实例
您发布的代码解决了出现的下一个问题。检查zookeeper配置文件(zookeeper/conf目录中的zoo.cfg) 还有,为什么你有zookeeper和miniZK 此外(与您的问题没有直接关系),您需要告诉hbase哪里可以找到zookeeper,例如,将以下内容添加到您的hbase-site.xml
<property>
<name>hbase.zookeeper.quorum</name>
<value>localhost</value>
</property>
hbase.zookeeper.quorum
本地服务器
您的/etc/hosts中有什么古怪的东西吗?我也这么认为,但是:127.0.0.1 localhost.localdomain localhost::1 localhost6.localdomain6 localhost6
(很抱歉,它混合在一起了--不允许我标记)
<property>
<name>hbase.zookeeper.quorum</name>
<value>localhost</value>
</property>