0

HaLoopというhadoop改造を始めたいのですがnamenodeに問題があります。起動せず、次のエラーが表示されます

org.apache.hadoop.hdfs.server.common.InconsistentFSStateException: ディレクトリ /app/haloop/tmp/name が矛盾した状態です: ストレージ ディレクトリが存在しないか、アクセスできません。

完全なログは次のとおりです。

2013-07-05 14:04:38,735 INFO org.apache.hadoop.hdfs.server.namenode.NameNode: STARTUP_MSG: / * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * *** STARTUP_MSG: NameNode を開始しています STARTUP_MSG: ホスト = elmorsy/127.0.1.1 STARTUP_MSG: 引数 = [] STARTUP_MSG: バージョン = 0.20.2-dev STARTUP_MSG: ビルド = https://haloop. googlecode.com/svn/trunk -r 408; 2013 年 6 月 29 日土曜日 06:41:37 EET に「hduser」によってコンパイル * ** * ** * ** * *** ** * ** * ** * ** * ** * ** * ***hdfs.server.namenode.FSNamesystem: isPermissionEnabled=true 2013-07-05 14:04:40,388 INFO org.apache.hadoop.hdfs.server.namenode.metrics.FSNamesystemMetrics: コンテキスト オブジェクト:org.apache.hadoop を使用して FSNamesystemMetrics を初期化しています。 metrics.spi.NullContext 2013-07-05 14:04:40,392 INFO org.apache.hadoop.hdfs.server.namenode.FSNamesystem: 登録された FSNamesystemStatusMBean 2013-07-05 14:04:40,531 INFO org.apache.hadoop.hdfs .server.common.Storage: ストレージ ディレクトリ /app/haloop/tmp/dfs/name が存在しません。2013-07-05 14:04:40,547 エラー org.apache.hadoop.hdfs.server.namenode.FSNamesystem: FSNamesystem の初期化に失敗しました。org.apache.hadoop.hdfs.server.common.InconsistentFSStateException: ディレクトリ /app/haloop/tmp/dfs/name が矛盾した状態です: ストレージ ディレクトリが存在しないか、アクセスできません。org.apache で。server.namenode.NameNode: org.apache.hadoop.hdfs.server.common.InconsistentFSStateException: ディレクトリ /app/haloop/tmp/dfs/name が矛盾した状態です: ストレージ ディレクトリが存在しないか、アクセスできません。org.apache.hadoop.hdfs.server.namenode.FSImage.recoverTransitionRead(FSImage.java:290) で org.apache.hadoop.hdfs.server.namenode.FSDirectory.loadFSImage(FSDirectory.java:87) で org.apache .hadoop.hdfs.server.namenode.FSNamesystem.initialize(FSNamesystem.java:311) at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.(FSNamesystem.java:292) at org.apache.hadoop.hdfs. server.namenode.NameNode.initialize(NameNode.java:201) org.apache.hadoop.hdfs.server.namenode.NameNode.(NameNode.java:279) org.apache.hadoop.hdfs.server.namenode.NameNode .createNameNode(NameNode.java:

2013-07-05 14:04:40,572 INFO org.apache.hadoop.hdfs.server.namenode.NameNode: SHUTDOWN_MSG: / * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * *** SHUTDOWN_MSG: elmorsy/127.0.1.1 で NameNode をシャットダウン中 * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * *** /

NameNode を再フォーマットしようとしましたが、問題は解決しませんでした。

何か助けはありますか?

4

2 に答える 2

2

適切なユーザーを使用していることと、ディレクトリに適切な権限があることを確認してください。必要に応じて、次のコマンドを使用して、ディレクトリのユーザーと権限を変更します。

sudo chown -R haloop_user:haloop_user_group /app/haloop/tmp/name
sudo chmod -R 755 /app/haloop/tmp/name

HTH

于 2013-07-05T10:48:33.820 に答える
0

Tariqの答えのおかげで、私はそれを解決しました。さらに、hadoop 実行フォルダー全体を chown および chmod する必要もあります。

sudo chown -R hadoop_user:haloop_user_group /usr/local/hadoop
sudo chmod -R 755 /usr/local/hadoop
于 2013-10-24T14:25:30.090 に答える