ページの先頭行へ戻る
NetCOBOL V12.0 ユーザーズガイド(Hadoop連携機能編)
FUJITSU Software

4.3.2 ジョブ失敗時の例(実行プログラムが見つからない例)

以下は、存在しないプログラムをReduceアプリケーションとしてMapReduce設定ファイルに指定しHadoopジョブの実行が失敗した例です。

途中までReduceタスクが進捗します(例では66%まで)が、その後タイムアウトが発生し、Reduceタスクが失敗しています。その後Hadoopによりリトライされますが、同じ結果が繰り返されジョブがエラーで終了しています。

[hadoop@hadoop1 hadoop01]$ cobhadoop.sh -conf  conf/configuration.xml
14/04/24 16:04:02 INFO util.NativeCodeLoader: Loaded the native-hadoop library
14/04/24 16:04:02 WARN snappy.LoadSnappy: Snappy native library not loaded
14/04/24 16:04:03 INFO mapred.FileInputFormat: Total input paths to process : 1
14/04/24 16:04:03 INFO mapred.FileInputFormat: Total input paths to process : 1
14/04/24 16:04:03 INFO mapred.JobClient: Running job: job_201403281518_0350
14/04/24 16:04:04 INFO mapred.JobClient:  map 0% reduce 0%
14/04/24 16:04:17 INFO mapred.JobClient:  map 50% reduce 0%
14/04/24 16:04:23 INFO mapred.JobClient:  map 75% reduce 0%
14/04/24 16:04:24 INFO mapred.JobClient:  map 100% reduce 0%
14/04/24 16:04:26 INFO mapred.JobClient:  map 100% reduce 25%
14/04/24 16:04:34 INFO mapred.JobClient: Task Id : attempt_201403281518_0350_r_000000_0, Status : FAILED
14/04/24 16:04:35 INFO mapred.JobClient:  map 100% reduce 0%
14/04/24 16:04:42 INFO mapred.JobClient:  map 100% reduce 33%
14/04/24 16:04:45 INFO mapred.JobClient: Task Id : attempt_201403281518_0350_r_000000_1, Status : FAILED
14/04/24 16:04:46 INFO mapred.JobClient:  map 100% reduce 0%
14/04/24 16:04:53 INFO mapred.JobClient:  map 100% reduce 25%
14/04/24 16:04:56 INFO mapred.JobClient: Task Id : attempt_201403281518_0350_r_000000_2, Status : FAILED
14/04/24 16:04:57 INFO mapred.JobClient:  map 100% reduce 0%
14/04/24 16:05:04 INFO mapred.JobClient:  map 100% reduce 33%
14/04/24 16:05:07 INFO mapred.JobClient:  map 100% reduce 0%
14/04/24 16:05:10 INFO mapred.JobClient: Job complete: job_201403281518_0350
14/04/24 16:05:10 INFO mapred.JobClient: Counters: 24
14/04/24 16:05:10 INFO mapred.JobClient:   Job Counters
14/04/24 16:05:10 INFO mapred.JobClient:     Launched reduce tasks=4
14/04/24 16:05:10 INFO mapred.JobClient:     SLOTS_MILLIS_MAPS=30402
14/04/24 16:05:10 INFO mapred.JobClient:     Total time spent by all reduces waiting after reserving slots (ms)=0
14/04/24 16:05:10 INFO mapred.JobClient:     Total time spent by all maps waiting after reserving slots (ms)=0
14/04/24 16:05:10 INFO mapred.JobClient:     Launched map tasks=4
14/04/24 16:05:10 INFO mapred.JobClient:     Data-local map tasks=4
14/04/24 16:05:10 INFO mapred.JobClient:     Failed reduce tasks=1
14/04/24 16:05:10 INFO mapred.JobClient:     SLOTS_MILLIS_REDUCES=50585
14/04/24 16:05:10 INFO mapred.JobClient:   File Input Format Counters
14/04/24 16:05:10 INFO mapred.JobClient:     Bytes Read=0
14/04/24 16:05:10 INFO mapred.JobClient:   FileSystemCounters
14/04/24 16:05:10 INFO mapred.JobClient:     HDFS_BYTES_READ=194818
14/04/24 16:05:10 INFO mapred.JobClient:     FILE_BYTES_WRITTEN=452088
14/04/24 16:05:10 INFO mapred.JobClient:   Map-Reduce Framework
14/04/24 16:05:10 INFO mapred.JobClient:     Map output materialized bytes=320604
14/04/24 16:05:10 INFO mapred.JobClient:     Map input records=10020
14/04/24 16:05:10 INFO mapred.JobClient:     Spilled Records=10020
14/04/24 16:05:10 INFO mapred.JobClient:     Map output bytes=300540
14/04/24 16:05:10 INFO mapred.JobClient:     Total committed heap usage (bytes)=764739584
14/04/24 16:05:10 INFO mapred.JobClient:     CPU time spent (ms)=3130
14/04/24 16:05:10 INFO mapred.JobClient:     Map input bytes=190320
14/04/24 16:05:10 INFO mapred.JobClient:     SPLIT_RAW_BYTES=1032
14/04/24 16:05:10 INFO mapred.JobClient:     Combine input records=0
14/04/24 16:05:10 INFO mapred.JobClient:     Combine output records=0
14/04/24 16:05:10 INFO mapred.JobClient:     Physical memory (bytes) snapshot=777326592
14/04/24 16:05:10 INFO mapred.JobClient:     Virtual memory (bytes) snapshot=4139409408
14/04/24 16:05:10 INFO mapred.JobClient:     Map output records=10020
EX0003:ジョブの実行に失敗しました。
[hadoop@hadoop1 hadoop01]$

の例では、「attempt_201403281518_0350_r_000000_0」のタスクでエラーが起きていることがわかります。

このため、エラー内容はタスクログを確認する必要があります。

スレーブサーバのタスクログを確認します。

$ more /var/log/hadoop/mapred/userlogs/job_201403281518_0350/attempt_201403281518_0350_r_000000_0/syslog

ログには、タスク実行に伴いHadoopが出力する情報が含まれるため、様々な情報が出力されています。この中から、エラー(ERROR)や例外(Exception)が出力されている箇所を探します。

2014-04-24 16:04:52,279 INFO com.fujitsu.labs.extjoiner.MidFileCommandBuilder: EX0013:コマンドの起動に失敗しました
java.io.IOException: Cannot run program "./reduce.exe": java.io.IOException: error=2, No such file or directory
        at java.lang.ProcessBuilder.start(ProcessBuilder.java:460)
        at com.fujitsu.labs.extjoiner.MidFileCommandBuilder.startCommand(MidFileCommandBuilder.java:841)
        at com.fujitsu.labs.extjoiner.MidFileCommandBuilder.onConfigure(MidFileCommandBuilder.java:475)
        at com.fujitsu.labs.extjoiner.ExtJoinerReduce.configure(ExtJoinerReduce.java:122)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at org.apache.hadoop.util.ReflectionUtils.setJobConf(ReflectionUtils.java:88)
        at org.apache.hadoop.util.ReflectionUtils.setConf(ReflectionUtils.java:64)
        at org.apache.hadoop.util.ReflectionUtils.newInstance(ReflectionUtils.java:117)
        at org.apache.hadoop.mapred.ReduceTask.runOldReducer(ReduceTask.java:485)
        at org.apache.hadoop.mapred.ReduceTask.run(ReduceTask.java:420)
        at org.apache.hadoop.mapred.Child$4.run(Child.java:255)
        at java.security.AccessController.doPrivileged(Native Method)
        at javax.security.auth.Subject.doAs(Subject.java:396)
        at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1121)
        at org.apache.hadoop.mapred.Child.main(Child.java:249)
Caused by: java.io.IOException: java.io.IOException: error=2, No such file or directory
        at java.lang.UNIXProcess.<init>(UNIXProcess.java:148)
        at java.lang.ProcessImpl.start(ProcessImpl.java:65)
        at java.lang.ProcessBuilder.start(ProcessBuilder.java:453)
        ... 17 more
2014-04-24 16:04:52,280 ERROR com.fujitsu.labs.extjoiner.MidFileCommandBuilder: EX0075:コマンド実行の開始に失敗しました。詳細は例外情報を参照してください。
java.lang.RuntimeException: コマンドの起動に失敗しました

メッセージから、「./reduce.exe」が見つからないためエラーになっていることがわかります。