hadoop1.0.4をインストールしました。以下を追加して、/ usr / bin/hadoopファイルを変更しました。
HADOOP_DEBUG = "-agentlib:jdwp = Transportation = dt_socket、server = y、suspend = y、address = 5000"
elif ["$ COMMAND" = "jar"]; それから
CLASS = org.apache.hadoop.util.RunJar
HADOOP_OPTS = "$ HADOOP_OPTS $ HADOOP_CLIENT_OPTS"
elif ["$ COMMAND" = "jar-debug"]; それから
CLASS = org.apache.hadoop.util.RunJar
HADOOP_OPTS = "$ HADOOP_OPTS $ HADOOP_CLIENT_OPTS $ HADOOP_DEBUG"
COMMAND = "jar"
このようにして、「hadoop jar SomeJar.jar SomeClass」を実行して正常に起動するか、「hadoopjar-debugSomeJar.jarSomeClass」を実行してデバッグモードで起動することができます。これは、コマンドライン引数をクラスに渡したい場合(WordCountの例など)を除いて、機能します。例:実行中:
"hadoop jar-debug WordCount.jar WordCount InputDir OutputDir"
メインクラスの最初の行にブレークポイントがあると、String [] argsが空の文字列であることがわかります(これにより、プログラムは後で失敗します)。通常のjarコマンドを使用して実行すると、正常に機能します(したがって、コマンドライン引数は通常のjarを使用して正常に渡されます)。
誰かがここで何が起こっているのか考えていますか?私は真剣に立ち往生しています。前もって感謝します。