6

我想尝试 HBase-0.94 独立模式,并按照Quick Start中的说明进行操作。

我启动 hbasestart-hbase.sh并启动hbase shell

似乎我的主人无法初始化,因为我的创建表命令总是失败,如下所示:

hbase(main):001:0> create 't1', 'cf'

ERROR: org.apache.hadoop.hbase.PleaseHoldException:    
org.apache.hadoop.hbase.PleaseHoldException: Master is initializing

这是我的conf/hbase-site.xml文件:

<configuration>
<property>
    <name>hbase.rootdir</name>
    <value>/home/manuzhang/hbase</value>
</property>
<property>
    <name>hbase.zookeeper.property.dataDir</name>
    <value>/home/manuzhang/zookeeper</value>
</property>
</configuration>

和我的/etc/hosts文件:

127.0.0.1   localhost
127.0.0.1       jmx_host
127.0.1.1   manuzhang-U24E

# The following lines are desirable for IPv6 capable hosts
::1     ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters

74.125.237.1 dl-ssl.google.com
4

3 回答 3

8

您必须编辑 /etc/hosts 文件,因为 HBase 可能无法使用 127.0.0.1 连接到 localhost

您应该替换该行:

127.0.0.1       jmx_host

127.0.0.1   manuzhang-U24E

之后重新启动 HBase 并希望能修复它。

于 2013-01-22T06:13:09.617 回答
4

HBase 和 /etc/hosts 的关系实际上是一个非常流行的谜团。尽管更改 127.0.1.1 或 127.0.0.1 行可能有效,但该过程实际上相当复杂。

当 HBase 设置 RPC 服务器时,它会监听“hbase.regionserver.dns.interface”中定义的接口的 IP。(嗯,不完全是,实际上,HBase 会找到这个接口的 IP,会查找它的主机名,并且将使用与这个网络接口关联的第一个 IP 的第一个主机名)。

如果你什么都不提供怎么办?假设您的主机名与最合理的接口相关联,它将让您恢复您的主机名。

参考(美丽的帖子。我强烈建议阅读一次)。

于 2013-08-06T21:04:06.993 回答
1

请将该行中的地址 127.0.1.1 更改为 127.0.0.1

127.0.1.1  manuzhang-U24E

重新启动 hbase,它应该可以工作。这是因为 hbase 无法找到主控主机。

于 2013-04-24T07:34:25.277 回答