我已经在Ubuntu镜像中下载并安装了HBase 0.94.9。我按照Apache的入门步骤进行操作,其中提到需要修改hbase-site.xml文件,但是我发现我的文件中没有定义任何属性。因此,我添加了两个属性。以下是完整的文件:
<?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已安装在此机器上,但目前未运行。)但每当我启动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端口。
有人知道是什么原因导致的吗?