マスターとスレーブの 2 ノード クラスター (v1.04) があります。マスターでは、2 つのファイルをusingTool.run()
に追加します。ファイルは HDFS に存在します。Mapper.setup() では、これらのファイルをキャッシュから取得します。DistributedCache
addCacheFile()
FSDataInputStream fs = FileSystem.get( context.getConfiguration() ).open( path ).
問題はFileNotFoundException
、ファイルがスレーブ ノードに存在するにもかかわらず、1 つのファイルに対して a がスローされることです。
attempt_201211211227_0020_m_000000_2: java.io.FileNotFoundException: File does not exist: /somedir/hdp.tmp.dir/mapred/local/taskTracker/distcache/-7769715304990780/master/tmp/analytics/1.csv
スレーブ上で ls –l:
[hduser@slave ~]$ ll /somedir/hdp.tmp.dir/mapred/local/taskTracker/distcache/-7769715304990780/master/tmp/ analytics/1.csv
-rwxr-xr-x 1 hduser hadoop 42701 Nov 22 10:18 /somedir/hdp.tmp.dir/mapred/local/taskTracker/distcache/-7769715304990780/master/tmp/ analytics/1.csv
私の質問は次のとおりです。
- すべてのファイルがすべてのノードに存在するべきではありませんか?
- それを修正するにはどうすればよいですか?
ありがとう。