42

このチュートリアルを使用して、マルチノード Hadoop クラスターをセットアップして構成しました。

start-all.sh コマンドを入力すると、すべてのプロセスが正しく初期化されていることが次のように表示されます。

starting namenode, logging to /usr/local/hadoop/libexec/../logs/hadoop-root-namenode-jawwadtest1.out
jawwadtest1: starting datanode, logging to /usr/local/hadoop/libexec/../logs/hadoop-root-datanode-jawwadtest1.out
jawwadtest2: starting datanode, logging to /usr/local/hadoop/libexec/../logs/hadoop-root-datanode-jawwadtest2.out
jawwadtest1: starting secondarynamenode, logging to /usr/local/hadoop/libexec/../logs/hadoop-root-secondarynamenode-jawwadtest1.out
starting jobtracker, logging to /usr/local/hadoop/libexec/../logs/hadoop-root-jobtracker-jawwadtest1.out
jawwadtest1: starting tasktracker, logging to /usr/local/hadoop/libexec/../logs/hadoop-root-tasktracker-jawwadtest1.out
jawwadtest2: starting tasktracker, logging to /usr/local/hadoop/libexec/../logs/hadoop-root-tasktracker-jawwadtest2.out

ただし、jps コマンドを入力すると、次の出力が得られます。

31057 NameNode
4001 RunJar
6182 RunJar
31328 SecondaryNameNode
31411 JobTracker
32119 Jps
31560 TaskTracker

ご覧のとおり、datanode プロセスは実行されていません。単一ノード クラスタを構成しようとしましたが、同じ問題が発生しました。ここで何がうまくいかないのか、誰にも分かりますか?チュートリアルで言及されていない、または調べた可能性のある構成ファイルはありますか? 私はHadoopを初めて使用し、ちょっと迷っています。助けていただければ幸いです。

編集: hadoop-root-datanode-jawwadtest1.log:

STARTUP_MSG:   args = []
STARTUP_MSG:   version = 1.0.3
STARTUP_MSG:   build = https://svn.apache.org/repos/asf/hadoop/common/branches/$
************************************************************/
2012-08-09 23:07:30,717 INFO org.apache.hadoop.metrics2.impl.MetricsConfig: loa$
2012-08-09 23:07:30,734 INFO org.apache.hadoop.metrics2.impl.MetricsSourceAdapt$
2012-08-09 23:07:30,735 INFO org.apache.hadoop.metrics2.impl.MetricsSystemImpl:$
2012-08-09 23:07:30,736 INFO org.apache.hadoop.metrics2.impl.MetricsSystemImpl:$
2012-08-09 23:07:31,018 INFO org.apache.hadoop.metrics2.impl.MetricsSourceAdapt$
2012-08-09 23:07:31,024 WARN org.apache.hadoop.metrics2.impl.MetricsSystemImpl:$
2012-08-09 23:07:32,366 INFO org.apache.hadoop.ipc.Client: Retrying connect to $
2012-08-09 23:07:37,949 ERROR org.apache.hadoop.hdfs.server.datanode.DataNode: $
        at org.apache.hadoop.hdfs.server.datanode.DataStorage.doTransition(Data$
        at org.apache.hadoop.hdfs.server.datanode.DataStorage.recoverTransition$
        at org.apache.hadoop.hdfs.server.datanode.DataNode.startDataNode(DataNo$
        at org.apache.hadoop.hdfs.server.datanode.DataNode.<init>(DataNode.java$
        at org.apache.hadoop.hdfs.server.datanode.DataNode.makeInstance(DataNod$
        at org.apache.hadoop.hdfs.server.datanode.DataNode.instantiateDataNode($
        at org.apache.hadoop.hdfs.server.datanode.DataNode.createDataNode(DataN$
        at org.apache.hadoop.hdfs.server.datanode.DataNode.secureMain(DataNode.$
        at org.apache.hadoop.hdfs.server.datanode.DataNode.main(DataNode.java:1$

2012-08-09 23:07:37,951 INFO org.apache.hadoop.hdfs.server.datanode.DataNode: S$
/************************************************************
SHUTDOWN_MSG: Shutting down DataNode at jawwadtest1/198.101.220.90
************************************************************/
4

29 に答える 29

77

次のようなことをする必要があります:

  • bin/stop-all.sh (または2.x シリーズではstop-dfs.sh)stop-yarn.sh
  • rm -Rf /app/tmp/hadoop-your-username/*
  • bin/hadoop namenode -format (またはhdfs2.x シリーズ)

解決策は http://pages.cs.brandeis.edu/~cs147a/lab/hadoop-troubleshooting/から取得しました。基本的には最初からやり直すことになるので、hdfsをフォーマットしてデータが失われないようにしてください。

于 2012-08-12T17:29:07.673 に答える
6

単一ノードの疑似分散インスタンスを実行するときに同じ問題が発生していました。それを解決する方法を理解できませんでしたが、簡単な回避策は手動でDataNodeを起動することです
hadoop-x.x.x/bin/hadoop datanode

于 2012-08-14T22:20:34.987 に答える
5

Hadoop フォルダーの下のデータノードを削除してから、start-all.sh を再実行します。

于 2018-10-13T17:47:04.827 に答える
2

すべてのサービスを停止します - ./stop-all.sh すべてのマスターとスレーブからすべての hdfs tmp ディレクトリをフォーマットします。スレーブからフォーマットすることを忘れないでください。

namenode をフォーマットします。(hadoop namenode -format)

namenode でサービスを開始します。./bin/start-all.sh

これにより、datanode サービスを開始することができました。

于 2016-07-29T03:10:29.950 に答える
2
  1. 最初に dfs と糸を停止します。
  2. core-site.xml ファイルで指定されているように、datanode および namenode ディレクトリを削除します。
  3. ディレクトリを再作成します。
  4. 次に、次のように dfs と糸を再起動します。

    開始-dfs.sh

    start-yarn.sh

    mr-jobhistory-daemon.sh 履歴サーバーの開始

    これがうまくいくことを願っています。

于 2017-05-04T12:14:21.513 に答える
1

以下のコマンドを一行で実行:-

  1. stop-all.sh (すべての Hadoop プロセスを停止するには Stop All を実行します)
  2. rm -r /usr/local/hadoop/tmp/ (hadoop/conf/core-site.xml で構成した Hadoop tmp ディレクトリ)
  3. sudo mkdir /usr/local/hadoop/tmp (同じディレクトリを作り直します)
  4. hadoop namenode -format (namenode をフォーマットします)
  5. start-all.sh (すべての Hadoop プロセスを開始するには Start All を実行します)
  6. JPS (実行中のプロセスが表示されます)
于 2014-11-20T13:00:03.567 に答える
1

ステップ 1:-Stop-all.sh

ステップ2:-このパスにたどり着きました

cd /usr/local/hadoop/bin

ステップ 3:- そのコマンド hadoop datanode を実行します

今DataNode作業

于 2016-09-06T12:53:25.520 に答える
0
  1. conf/core-site.xml で hadoop.tmp.dir を構成しました

  2. conf/hdfs-site.xml で dfs.data.dir を構成しました

  3. conf/hdfs-site.xml で dfs.name.dir を構成しました

  4. 「/tmp/hadoop-/」ディレクトリ以下をすべて削除

  5. 以下にリストされているディレクトリのファイル許可を 777 から 755 に変更しました。dfs.data.dir

    そして、データノードが機能し始めました。

于 2015-04-13T23:57:06.080 に答える
0

確認する必要があります:

/app/hadoop/tmp/dfs/data/current/VERSION および /app/hadoop/tmp/dfs/name/current/VERSION ---

これらの 2 つのファイルと、名前ノードとデータノードの名前空間 ID に。

データ ノードの NamespaceID が名前ノードの NamespaceID と同じ場合にのみ、データ ノードが実行されます。

それらが異なる場合は、vi エディターまたは gedit を使用して namenode NamespaceID を Datanode の NamespaceID にコピーし、デーモンを保存して再実行すると、完全に機能します。

于 2014-09-23T07:08:28.863 に答える
0

これは Hadoop の新しいバージョン用です (私は 2.4.0 を実行しています)

  • この場合、クラスターを停止します sbin/stop-all.sh
  • 次に、構成ファイルの /etc/hadoop に移動します。

ファイル内: hdfs-site.xml dfs.namenode.name.dir dfs.namenode.data.dir に対応するディレクトリ パスを探します。

  • 両方のディレクトリを再帰的に削除します (rm -r)。
  • bin/hadoop namenode -format を介して namenode をフォーマットします。
  • そして最後に sbin/start-all.sh

お役に立てれば。

于 2014-07-30T16:16:48.810 に答える
0

「hadoop tmp dir」の下のすべてを削除する代わりに、別のものを設定できます。たとえば、core-site.xml に次のプロパティがあるとします。

<property>
  <name>hadoop.tmp.dir</name>
  <value>/home/hduser/data/tmp</value>
</property>

これを次のように変更できます。

<property>
  <name>hadoop.tmp.dir</name>
  <value>/home/hduser/data/tmp2</value>
</property>

次に、各ノードに scp core-site.xml を実行し、「hadoop namenode -format」を実行してから、hadoop を再起動します。

于 2014-05-30T07:15:58.983 に答える
0

同じエラーが発生しました。dfs を数回開始および停止しようとしましたが、以前の回答で言及されているすべてのディレクトリをクリアしましたが、何も役に立ちませんでした。

この問題は、OS を再起動し、Hadoop を最初から構成した後にのみ解決されました。(再起動せずに最初から Hadoop を構成してもうまくいきませんでした)

于 2017-12-21T09:56:04.763 に答える
0

Hadoop で jps を使用してデータ ノードを見つけることができなかったので、hadoop がインストールされたディレクトリ ( /opt/hadoop-2.7.0/hadoop_data/dfs/data) の現在のフォルダーを削除し、start-all.sh と jps を使用して Hadoop を再起動しました。

今回は、データ ノードを見つけることができ、現在のフォルダーが再度作成されました。

于 2018-08-01T12:16:59.210 に答える
0

tmp ディレクトリのフォーマットが機能しない場合は、これを試してください。

  1. 最初にnamenode、datanodeなどのすべてのエンティティを停止します(それを行うためのスクリプトまたはコマンドがあります)
  2. tmp ディレクトリのフォーマット
  3. /var/cache/hadoop-hdfs/hdfs/dfs/ に移動し、ディレクトリ内のすべてのコンテンツを手動で削除します
  4. namenode を再度フォーマットします
  5. すべてのエンティティを開始し、jps コマンドを使用してデータノードが開始されたことを確認します
  6. 今、あなたが持っているアプリケーションを実行してください

お役に立てれば。

于 2014-11-14T05:10:02.407 に答える
0

これを試して

  1. ストップオール.sh
  2. vi hdfs-site.xml
  3. プロパティに指定された値を変更するdfs.data.dir
  4. フォーマット名ノード
  5. start-all.sh
于 2013-08-21T11:26:04.943 に答える
-1
    mv /usr/local/hadoop_store/hdfs/datanode /usr/local/hadoop_store/hdfs/datanode.backup

    mkdir /usr/local/hadoop_store/hdfs/datanode

    hadoop datanode OR start-all.sh

    jps
于 2016-08-03T12:50:14.257 に答える