使用HDFS存储HBase数据时出错

时间:2013-04-24 09:41:36

标签: hadoop hbase

当我将hbase-site.xml中的 hbase.rootdir 配置设置为 file: // hbase_root_dir_path等本地文件系统时,hbase工作正常。但是当我将其更改为 hdfs: // localhost:9000 / hbase,hbase在开始时也没问题。 在短时间内(通常是几秒钟),然而,它没有用。我发现HMaster停止了jps命令。当然我无法打开localhost:60010网页。我读了日志,发现错误如下:


INFO org.apache.zookeeper.server.PrepRequestProcessor: Got user-level KeeperException when processing sessionid:0x13e35b26eb80001 type:delete cxid:0x13 zxid:0xc txntype:-1 reqpath:n/a Error Path:/hbase/backup-masters/localhost,35320,1366700487007 Error:KeeperErrorCode = NoNode for /hbase/backup-masters/localhost,35320,1366700487007
INFO org.apache.zookeeper.ClientCnxn: Opening socket connection to server localhost/127.0.0.1:2182. Will not attempt to authenticate using SASL (unknown error)
ERROR org.apache.hadoop.hbase.regionserver.handler.OpenRegionHandler: Failed open of region=person,,1365998702159.a5af90c23325829096517fb3b15bca17., starting to roll back the global memstore size.
java.lang.IllegalStateException: Could not instantiate a region instance.
WARN org.apache.zookeeper.ClientCnxn: Session 0x13e35b26eb80002 for server null, unexpected error, closing socket connection and attempting reconnect

我在Ubuntu 12.04 LTS中使用hbase的伪分布式模式。 在我的/ etc / hosts中,我已经将主机名的IP更改为127.0.0.1.And我的hadoop安全模式状态,如果OFF.My hadoop版本是1.0.4而我的hbase版本是0.94.6.1(两者都是最新的稳定版本)发布),HBase参考指南说hbase-0.94.x可以和hadoop-1.0.x一起使用。
我认为关于HDFS会导致这个问题,因为它确实适用于本地文件系统。顺便说一下,有一个hbase-xxx-security发行版,它与hbase-xxx版本有什么区别,我是否需要使用安全发布?

1 个答案:

答案 0 :(得分:0)

你设置了Zookeeper的法定人数?似乎Zookeeper正在尝试连接到您的localhost。

尝试使用hbase.zookeeper.quorum中的hbase-site.xml属性设置您不想使用的机器的地址。此外,如果您没有管理自己的Zookeeper实例,请确保在hbase-env.sh中此行未注释export HBASE_MANAGES_ZK=true