シミュレートされた分散ファイル システムとして Cloudera VM (cdh3u2) を使用しています。ファイルの作成と Web サーバーからの書き込みを実行するために、fs.http.address プロパティを VM の IP を指すように変更しました。この機能は正常に動作します。問題は、HIVE が次のようなマップ削減ジョブを実行するときに発生します。
SELECT COUNT(*) FROM tmp2;
私が受け取るメッセージは次のとおりです。
hive> select count(*) from tmp2;
Total MapReduce jobs = 1
Launching Job 1 out of 1
Number of reduce tasks determined at compile time: 1
In order to change the average load for a reducer (in bytes):
set hive.exec.reducers.bytes.per.reducer=<number>
In order to limit the maximum number of reducers:
set hive.exec.reducers.max=<number>
In order to set a constant number of reducers:
set mapred.reduce.tasks=<number>
Starting Job = job_201111301538_0001, Tracking URL = http://0.0.0.0:50030/jobdetails.jsp?jobid=job_201111301538_0001
Kill Command = /usr/lib/hadoop/bin/hadoop job -Dmapred.job.tracker=0.0.0.0:8021 -kill job_201111301538_0001
2011-11-30 16:01:21,773 Stage-1 map = 0%, reduce = 0%
2011-11-30 16:01:43,064 Stage-1 map = 100%, reduce = 100%
Ended Job = job_201111301538_0001 with errors
FAILED: Execution Error, return code 2 from org.apache.hadoop.hive.ql.exec.MapRedTask
Hive は次の SQL を問題なく実行します (map reduce ジョブは必要ありません)。
SHOW TABLES;
SELECT * FROM tmp2;