我尝试在伪分布式模式下运行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--解析到...我的路由器。
当我在www.example.com的**/etc/hosts文件中添加一个"别名"时,它解析得很好。127.0.0.1 it resolves just fine.
@arnon-rotem-gal-oz,我刚刚安装了HBase压缩包中的任何东西。我假设miniZK是Zookeeper的缩小版?我没有运行它的单独示例。
您发布的代码成功地解决了出现的下一个**问题。
2条答案
按热度按时间zte4gxcn1#
检查zookeeper配置文件(zookeeper/conf目录中的zoo.cfg)还有为什么你同时有zookeeper和miniZK?
此外(与您的问题没有直接关系),您需要告诉hbase在哪里可以找到Zookeeper,例如,将以下内容添加到hbase-site.xml中
2hh7jdfx2#
仅修复所有目录问题,因为如果hbase无法启动,它将尝试从陌生IP连接。
1.添加到bin文件夹winutils.exe
1.正确路径的
1.这不是IP问题,而是错误的目录问题