2013-07-17 32 views
3

我已经在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.

任何人有任何想法是什么原因造成这种情况?

回答

2

事实证明,我必须运行Hadoop。我不知道为什么,因为我设置HBase只使用本地文件系统。但几个小时之前,我一直反对这个问题,直到我最终决定启动Hadoop,然后HBase和HBase立即开始工作。尽管HDFS在8020端口而不是9000端口,但我至少感到困惑,但至少HBase正在运行。

+0

如果您不使用Hadoop,请将其卸载。我有同样的问题,我卸载Hadoop并重新安装新的HBase独立 – sunskin

+0

谢谢sunskin。我实际上也在使用Hadoop(它只是一个沙箱图像,我在做各种事情),所以我只记得启动hadoop,但我也会记住你的建议以备将来参考。 – dnuttle

2

hbase-site.xml,确保hbase.rootdir不是像hdfs://...,而是指向本地文件系统的目录,如​​

另外,我觉得hbase.cluster.distributed应该false

+0

我上面展示了hbase-site.xml,它指定了一个本地文件路径。此后我也添加了一些更多的属性,包括hbase.cluster.distributed为false。它没有帮助。 – dnuttle

0

我刚刚遇到了这个问题。它看起来像hbase脚本在你的路径中查找hadoop可执行文件,并用它来神奇地定位配置文件。在启动hbase之前,您可能会从您的路径中删除hadoop以使其工作。

我只是间歇性地使用hadoop,所以我刚刚评论了一切,我的core-site.xml和hbase再次启动。

相关问题