2

Hadoop の実験では、Macbook のローカルホストに単一ノードの HDFS をセットアップしました。実験のたびに、hadoop サービス (./bin/stop-all.sh) をシャットダウンしました。

セットアップ (start-all.sh) を再起動するたびに、HDFS が破損していることに気付きます。 HDFS に再びアクセスするには、常に namenode をフォーマットしてサービスを再起動する必要があります。

起動後に namenode 管理者アクセス (http://localhost:50070/) を取得しなくなったので、これに気付きました。

起動時に namenode ログに「2012-11-29 15:27:43,160 ERROR org.apache.hadoop.hdfs.server.namenode.FSNamesystem: FSNamesystem initialization failed.org.apache.hadoop.hdfs.server.common.InconsistentFSStateException:ディレクトリ /private/tmp/hadoop-rupadhyay/dfs/name は矛盾した状態です: ストレージ ディレクトリが存在しないか、アクセスできません。"

ここで何が欠けているのかわかりません。

4

2 に答える 2

4

tmpディレクトリを使用するということは、再起動するたびに、必ずディレクトリをクリアし、名前ノードを再フォーマットする必要があることを意味します。これは、OSが気まぐれにファイルをtmpディレクトリから削除し、hdfsを不安定な状態のままにする可能性があるためです。

于 2012-11-29T23:43:23.887 に答える
4

私は同じ問題を抱えていて、少しGoogleで解決しました.core-site.xmlのhadoop.tmp.dirはデフォルトで/tmp/hadoop-usernameになり、再起動するたびに消去されます。これを他のディレクトリに変更できます。例は

<configuration>
  <property>
    <name>fs.default.name</name>
    <value>hdfs://localhost:54310</value>
  </property>

  <property>
     <name>hadoop.tmp.dir</name>
     <value>/home/hadoop/hdfs-tmp</value>
  </property>
</configuration>

このリンクも役に立ちます

于 2013-06-05T05:17:49.297 に答える