サーチ…


前書き

ここで覚えておくべき基本的なことは、Hadoop MRジョブのデバッグは、Eclipseでリモートでデバッグされたアプリケーションと似ていることです。

デバッガまたはデバッグツールは、他のプログラム(「ターゲット」プログラム)のテストおよびデバッグに使用されるコンピュータプログラムです。 Hadoop環境では、エラーの余地が少なく、小さなエラーで大きな損失が発生する可能性がある場合に特に便利です。

備考

それだけであなたがする必要があります。

設定手順

ご存じのように、Hadoopは3つの異なるモードでローカル環境で実行できます。

  1. ローカルモード
  2. 擬似分散モード
  3. 完全分散モード(クラスタ)

通常、HDFSとMap Reduce(MR)を活用するために、擬似分散モードでローカルハープセットアップを実行します。しかし、このモードではMRプログラムをデバッグすることはできません。それぞれのMap / Reduceタスクは別々のJVMプロセスで実行されるため、単一のJVMプロセスでMRプログラムを実行できるローカルモードに切り替える必要があります。

ローカル環境でこれをデバッグするための迅速かつ簡単な手順は次のとおりです。

  1. デバッグのためにローカルモードでhadoopを実行するため、マッパーとレデューサーのタスクは別々のJVMではなく単一のJVMで実行されます。以下の手順は、あなたがそれを行うのに役立ちます。

  2. デバッグを有効にするようにHADOOP_OPTSを設定すると、Hadoopジョブを実行するときにデバッガが接続するのを待機します。以下はポート8080で同じものをデバッグするコマンドです。

(export HADOOP_OPTS = " - agentlib:jdwp = transport = dt_socket、server = y、suspend = y、address = 8008")

  1. core-site.xmlのfs.default.nameの値をhdfs://からfile:///に設定します。ローカルモードでは、hdfsを使用しません。

  2. mapred-site.xmlのmapred.job.trackerの値をlocalに設定します。これにより、Hadoopは単一のJVMでMRタスクを実行します。

  3. Eclipse用のデバッグ設定を作成し、ポートを8008に設定します。そのためには、デバッガー構成に行き、新しいリモートJavaアプリケーションタイプの構成を作成し、設定でポートを8080に設定します。

  4. hadoopジョブを実行して(デバッガが接続するのを待つ)、上記の設定でデバッグモードでEclipseを起動します。最初にブレークポイントを設定してください。



Modified text is an extract of the original Stack Overflow Documentation
ライセンスを受けた CC BY-SA 3.0
所属していない Stack Overflow