hbase表命名空间管理器尚未准备好

时间:2015-02-21 03:49:16

标签: hbase

错误讯息: 错误:java.io.IOException:表命名空间管理器尚未就绪,请在org.apache.hadoop.hbase.master.HMaster.getNamespaceDesc.java:3092再次尝试

配置: 我的env和xml的配置文件如下。 我从Hortonworks手动安装中精确地遵循了安装说明。我希望在localhost上以伪模式运行。 Hbase状态为sat,但错误由以下方式生成: HBase的>创建'销售','客户','地址'

故障排除: 我关闭了Hbase和ZK。逐行检查配置文件。根据hbase.apache.com的推荐尝试了几种变体。同样的错误。然后我删除了hdfs文件系统/ hbase并使用zkcli删除了zk中的目录。我检查它是写给ZK和HDFS。关闭群集和所有守护程序。我甚至重新启动,以防这是某种内存泄漏。我仍处于同一状态。我知道它试图在某个位置为表创建一个元条目。一些如何不访问此表。我假设这个元表在ZK上。这是真的?我该怎么办?

文件:                          hbase.rootdir              HDFS://本地主机:9000 / HBase的           

   <property>
    <name>hbase.cluster.distributed</name>
    <value>true</value>
   </property>

   <property>
     <name>hbase.zookeeper.quorum</name>
     <value>localhost</value>
   </property>

    <property>
      <name>hbase.zookeeper.property.dataDir</name>
      <value>/var/data/zookeeper</value>
    </property>

 # The java implementation to use. Java 1.7 required.
 export JAVA_HOME=${JAVA_HOME}

 "hbase-env.sh" 82L, 3834C
#
 # export HBASE_JMX_BASE="-Dcom.sun.management.jmxremote.ssl=false 
-     Dcom.sun.management.jmxremote.authenticate=false"
export HBASE_MASTER_OPTS="-Xmx2048m"
export HBASE_REGIONSERVER_OPTS="-Xmn200m -Xms4096m -Xmx4096m"
# export HBASE_THRIFT_OPTS="$HBASE_JMX_BASE 
-Dcom.sun.management.jmxremote.port=10103"
# export HBASE_ZOOKEEPER_OPTS="$HBASE_JMX_BASE 
-Dcom.sun.management.jmxremote.port=10104"

# File naming hosts on which HRegionServers will run.
  $HBASE_HOME/conf/regionservers by default.
 export HBASE_REGIONSERVERS=${HBASE_CONF_DIR}/regionservers

# Extra ssh options. Empty by default.
# export HBASE_SSH_OPTS="-o ConnectTimeout=1 -o SendEnv=HBASE_CONF_DIR"

# Where log files are stored. $HBASE_HOME/logs by default.
  export HBASE_LOG_DIR=/var/log/hbase

# A string representing this instance of hbase. $USER by default.
# export HBASE_IDENT_STRING=$USER

# The scheduling priority for daemon processes. See 'man nice'.
# export HBASE_NICENESS=10

# The directory where pid files are stored. /tmp by default.
export HBASE_PID_DIR=/var/run/hbase

# Seconds to sleep between slave commands. Unset by default. This
# can be useful in large clusters, where, e.g., slave rsyncs can
# otherwise arrive faster than the master can service them.
# export HBASE_SLAVE_SLEEP=0.1

 # Tell HBase whether it should manage it's own instance of Zookeeper or not.
  export HBASE_MANAGES_ZK=false

1 个答案:

答案 0 :(得分:0)

现在已经更正了。有两个答案。一个是微妙的,另一个是错误的配置。

创建表时,HBase主机需要写出表空间。此空间位于区域服务器上。我的区域服务器文件为空。没有确定服务器。当我运行sudo /etc/init.d/hue启动时,区域服务器deamon将无法启动,从而导致错误。通过将localhost添加到此文件,问题得以解决。

此外,我打断了问题,意味着HBase主机在写入ZooKeeper文件空间时出现问题。所以我不断添加参数以获得连接。我现在支持所有这些。

我在关于HBase的PackT书中找到了一个很好的描述。这让我有了正确解决这个问题的见解。