获取“错误:无法从ZooKeeper获取主地址;使用Hbase shell时,znode data == null“

我安装了Hadoop2.2.0和Hbase0.98.0,这里是我做的:

$./bin/start-hbase.sh 

$./bin/hbase shell

2.0.0-p353 :001 > list

那我得到这个:

ERROR: Can't get master address from ZooKeeper; znode data == null

为什么我得到这个错误?另一个问题:
在运行基础之前,是否需要运行./sbin/start-dfs.sh和./sbin/start-yarn.sh?

另外,使用了什么./sbin/start-dfs.sh和./sbin/start-yarn.sh?

这是我的一些conf文档:

HBase的-sites.xml

<configuration>
    <property>
        <name>hbase.rootdir</name>
        <value>hdfs://127.0.0.1:9000/hbase</value>
    </property>
    <property>
        <name>hbase.cluster.distributed</name>
        <value>true</value>
    </property>

    <property>
        <name>hbase.tmp.dir</name>
        <value>/Users/apple/Documents/tools/hbase-tmpdir/hbase-data</value>
    </property>
    <property>
        <name>hbase.zookeeper.quorum</name>
        <value>localhost</value>
    </property>
    <property>
        <name>hbase.zookeeper.property.dataDir</name>
        <value>/Users/apple/Documents/tools/hbase-zookeeper/zookeeper</value>
    </property>
</configuration>

核心sites.xml

<configuration>

  <property>
      <name>fs.defaultFS</name>
      <value>hdfs://localhost:9000</value>
      <description>The name of the default file system.</description>
  </property>

  <property>
      <name>hadoop.tmp.dir</name>
      <value>/Users/micmiu/tmp/hadoop</value>
      <description>A base for other temporary directories.</description>
  </property>

  <property>
      <name>io.native.lib.available</name>
      <value>false</value>
  </property>

</configuration>

纱sites.xml

<configuration>

    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>

    <property>
        <name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
        <value>org.apache.hadoop.mapred.ShuffleHandler</value>
    </property>

</configuration>
如果您只想运行HBase而不进入独立HBase的Zookeeper管理,那么从hbase-site.xml中删除所有属性块,除了名为hbase.rootdir的属性块.

现在运行/bin/start-hbase.sh. HBase配有自己的Zookeeper,当您运行/bin/start-hbase.sh时,它将会启动,如果您是第一次尝试解决问题就足够了.以后可以为Zookeeper设置分布式模式配置.

由于hbase.rootdir的值设置为hbase-site.xml中的hdfs://127.0.0.1:9000 / hbase,所以您只需要运行/sbin/start-dfs.sh来运行HBase.如果您使用file:/// some_location_on_local_filesystem将其更改为本地文件系统上的某个位置,则甚至不需要运行/sbin/start-dfs.sh.

hdfs://127.0.0.1:9000 / hbase说它是HDFS上的一个地方,并且/sbin/start-dfs.sh启动namenode和datanode,它提供基础API来访问HDFS文件系统.要了解纱线,请查看http://hadoop.apache.org/docs/r2.3.0/hadoop-yarn/hadoop-yarn-site/YARN.html.

相关文章
相关标签/搜索