問題: Hadoop 2.2.0 クラスターにジョブを送信すると、ジョブ トラッカーには表示されませんが、ジョブは正常に完了します。これにより、出力が表示され、正しく実行され、実行中に出力が出力されます。
複数のオプションを試しましたが、ジョブ トラッカーにジョブが表示されません。2.2.0 Hadoop を使用してストリーミング ジョブを実行すると、タスク トラッカーに表示されますが、hadoop-client API を介して送信すると、ジョブ トラッカーに表示されません。ジョブを確認するために、ポート 8088 の UI インターフェイスを見ています。
環境 OSX Mavericks、Java 1.6、Hadoop 2.2.0 シングル ノード クラスタ、Tomcat 7.0.47
コード
try {
configuration.set("fs.defaultFS", "hdfs://127.0.0.1:9000");
configuration.set("mapred.jobtracker.address", "localhost:9001");
Job job = createJob(configuration);
job.waitForCompletion(true);
} catch (Exception e) {
logger.log(Level.SEVERE, "Unable to execute job", e);
}
return null;
etc/hadoop/mapred-site.xml
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>mapred.job.tracker</name>
<value>localhost:9001</value>
</property>
</configuration>
etc/hadoop/core-site.xml
<configuration>
<property>
<name>hadoop.tmp.dir</name>
<value>/tmp/hadoop-${user.name}</value>
<description>A base for other temporary directories.</description>
</property>
<property>
<name>fs.default.name</name>
<value>hdfs://localhost:9000</value>
</property>
</configuration>