4

MapReduce 周辺の Hadoop では、いくつかの主要なリファクタリングが行われています。同じことに関する詳細は、以下の JIRA にあります。

https://issues.apache.org/jira/browse/MAPREDUCE-279

ResourceManager、NodeManager、および HistoryServer デーモンがあります。Eclipseでそれらを実行しようとした人はいますか? これにより、開発とデバッグが容易になります。

Hadoop フォーラムにメールを送信しましたが、誰も試していません。誰かがスタックオーバーフローで同様のことをしたかどうかを確認したかっただけです。

4

2 に答える 2

0

ホストでYARN(次世代のmapreduce)を数日間実行しようとしました。

まず、svnまたはgitを使用してapache.orgからソースコードを取得します。svnを例にとってみましょう:

svn co https://svn.apache.org/repos/asf/hadoop/common/branches/branch-0.23.0

次に、mavenを使用してEclipse関連ファイルを生成します(この手順の前に、ホストでmanve3を構成する必要があります)。

mvn test -DskipTests

mvn eclipse:eclipse -DdownloadSources=true -DdownloadJavadocs=true

これで、既存のMavenプロジェクトをEclipseにインポートできます(最初にEclipseでMavenプラグインを構成する必要があります)。

Eclipseの場合:[ファイル]->[既存のMavenプロジェクトをインポートする]

Choose "Existing Projects into Workspace"
Select the hadoop-mapreduce-project directory as the root directory
Select the hadoop-mapreduce-project project
Click "Finish"

class_path / build_pathが正しく構成されておらず、すべての依存関係パッケージ/クラスが含まれていないため、何度も試しました。私と同じ問題が発生した場合は、「外部クラスフォルダの追加」を試して、プロジェクトのプロパティで現在のプロジェクトのビルドディレクトリを選択してください。


更新:2012-03-15

これで、YARN(Hadoop0.23と同じ)を日食で実行できました。

まず、execコマンドでYarnを正常にコンパイル/ビルドする必要があります。

mvn clean package -Pdist -Dtar -DskipTests

YARNのデバッグ方法だけを気にするという理由で、EclipseではなくLinuxターミナルの単一のホストでHDFSを実行します。

bin/hdfs namenode -formate -clusterid your_hdfs_id
sbin/hadoop-daemon.sh start namenode
sbin/hadoop-daemon.sh start datanode

次に、hadoop 0.23をEclipseにインポートし、resourcemanager.javaを見つけます。次のステップは、このクラスをEclipseで実行することです。詳細な手順:

  • 右クリックして、[アプリケーションとして実行]を選択します
  • このクラスを実行するための新しい構成を追加し、引数の部分に内容を入力します。

    --config your_yarn_conf_dir(HDFS conf dirと同じ)

  • 実行ボタンをクリックすると、Eclipseコンソールにresourcemanagerの出力が表示されます。

eclipseでNodemanaerを実行することは、Resourcemanagerを実行することと同じです。新しい構成を追加し、引数に「--config your_yarn_conf_dir」を入力して、実行ボタンを押します。

ハッピーコーディング〜!

于 2011-12-24T02:47:38.903 に答える
0

Nourl https://issues.apache.org/jira/browse/MAPREDUCE-3131が完了するまで待ちます。任意の方法でリビジョンをチェックアウトして実行してみてください。

すべてのドキュメントを含むドキュメントを生成するには、site:site を mvn する必要があります。そして、方法を理解するために?スクリプト debug.sh を開いて、自分の目で確かめることができます。

基本的に、JAVA_OPTIONS を渡し、Eclipse リモート デバッグ パラメータを指定します。プロパティを指定する必要があるため、子プロセスの場合は注意が必要mapred.child.java.optsです。

HTH

-P

于 2012-01-23T10:35:46.070 に答える