我已经在Ubuntu映像中下载并安装了HBase 0.94.9。我遵循Apache的入门步骤。它说修改hbase-site.xml,虽然我发现我没有定义它的属性。所以我加了两个。下面是完整的文件:在独立模式下启动HBase时出错
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<property>
<name>hbase.rootdir</name>
<value>file:///home/dan/hbase</value>
</property>
<property>
<name>hbase.zookeeper.property.dataDir</name>
<value>/home/dan/zookeeper</value>
</property>
</configuration>
我也确信,/ etc/hosts中没有127.0.1.1的问题:
127.0.0.1 localhost
127.0.0.1 ubuntu
# 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
如果我理解正确的话,这个设置应该运行的HBase完全依靠本地文件系统; Hadoop没有涉及。 (Hadoop是isntalled这台机器上,但当前未运行。)但是,每当我开始HBase的,我认为这在日志中:
2013-07-17 07:24:51,121 ERROR org.apache.hadoop.hbase.master.HMasterCommandLine: Failed to start master
java.net.ConnectException: Call to localhost/127.0.0.1:9000 failed on connection exception: java.net.ConnectException: Connection refused
at org.apache.hadoop.ipc.Client.wrapException(Client.java:1099)
at org.apache.hadoop.ipc.Client.call(Client.java:1075)
at org.apache.hadoop.ipc.RPC$Invoker.invoke(RPC.java:225)
at sun.proxy.$Proxy11.getProtocolVersion(Unknown Source)
它寻找端口9000,因为如果它认为它应该连接到HDFS。然而,在/ home/dan/hbase中有文件夹和文件。我已经在HBase文件夹中搜索了“9000”的所有内容,并且我看到它列出的唯一位置在文档或src目录中,显示了设置分布式或伪分布式环境的示例。所以我难住为什么这个实例正在寻找端口9000.
任何人有任何想法是什么原因造成这种情况?
如果您不使用Hadoop,请将其卸载。我有同样的问题,我卸载Hadoop并重新安装新的HBase独立 – sunskin
谢谢sunskin。我实际上也在使用Hadoop(它只是一个沙箱图像,我在做各种事情),所以我只记得启动hadoop,但我也会记住你的建议以备将来参考。 – dnuttle