1. ホーム
  2. shell

[解決済み】"ERROR. "を取得。ZooKeeperからマスターアドレスを取得できない。znode data == null" Hbaseシェル使用時

2022-02-02 11:17:20

質問

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 を、?

以下は、私のコンフ・ドックの一部です。

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>

コアサイト.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>

yarn-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 の Zookeeper 管理に入らずに HBase を実行したいだけであれば、すべての property のブロックは hbase-site.xml という名前のプロパティブロックを除いて hbase.rootdir .

今すぐ実行 /bin/start-hbase.sh . HBase には独自の Zookeeper が付属しており、これを起動するために /bin/start-hbase.sh これは、初めて物事を進めようとする場合には、十分でしょう。Zookeeperの分散モード設定は後で行うことができます。

を実行するだけです。 /sbin/start-dfs.sh の値は、HBase を実行するためのものであるため hbase.rootdir が設定されます。 hdfs://127.0.0.1:9000/hbase を使用します。 hbase-site.xml . を使ってローカルのファイルシステム上のある場所に変更すると、その場所は file:///some_location_on_local_filesystem を実行する必要はありません。 /sbin/start-dfs.sh .

hdfs://127.0.0.1:9000/hbase はHDFS上の場所だと言っているし /sbin/start-dfs.sh は、HDFSファイルシステムにアクセスするための基礎的なAPIを提供するnamenodeとdatanodeを開始します。Yarnについては、以下のサイトを参照してください。 http://hadoop.apache.org/docs/r2.3.0/hadoop-yarn/hadoop-yarn-site/YARN.html .