我试图在伪分布式模式下运行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
在日志中,动物园管理员开始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的试图反向查找我的主机名,因为我用我的路由器which--作为DNS--解决,我的IP地址...我的路由器。
当我在/etc/hosts文件中添加一个“别名”到127.0.0.1时,它解决了。
@ arnon-rotem-gal-oz,我只是安装了HBase tarball中的任何东西。我假设miniZK是Zookeeper的缩小版本?我没有运行一个单独的实例。
您发布的代码有诀窍解决下一个问题出现了。谢谢大家!
在您的/ etc/hosts中是否有一些时髦的东西? –
我认为,太多,但: '127.0.0.1 \t \t的localhost.localdomain本地主机 :: 1 \t \t localhost6.localdomain6 localhost6' (对不起它捣碎together--并不让我的标记) – aimzies