Hadoop 1.2.1 単一ノード クラスタを構成し、mahout 0.8 をインストールしました。
ノードは正常に動作しているようです。
cnaivebayes 分類子を実行している Hadoop クラスターで 20newsgroups mahout の例を実行しようとしています。問題は、次のエラーが発生することです。
13/11/12 18:31:46 INFO common.AbstractJob: Command line arguments: {--charset=[UTF-8], --chunkSize=[64], --endPhase=[2147483647], --fileFilterClass=[org.apache.mahout.text.PrefixAdditionFilter], --input=[/tmp/mahout-work-hduser/20news-all], --keyPrefix=[], --method=[mapreduce], --output=[/tmp/mahout-work-hduser/20news-seq], --overwrite=null, --startPhase=[0], --tempDir=[temp]}
Exception in thread "main" java.io.FileNotFoundException: File does not exist: /tmp/mahout-work-hduser/20news-all
at org.apache.hadoop.hdfs.DistributedFileSystem.getFileStatus(DistributedFileSystem.java:558)
at org.apache.mahout.text.SequenceFilesFromDirectory.runMapReduce(SequenceFilesFromDirectory.java:140)
at org.apache.mahout.text.SequenceFilesFromDirectory.run(SequenceFilesFromDirectory.java:89)
at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:65)
at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:79)
at org.apache.mahout.text.SequenceFilesFromDirectory.main(SequenceFilesFromDirectory.java:63)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.hadoop.util.ProgramDriver$ProgramDescription.invoke(ProgramDriver.java:68)
at org.apache.hadoop.util.ProgramDriver.driver(ProgramDriver.java:139)
at org.apache.mahout.driver.MahoutDriver.main(MahoutDriver.java:194)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.hadoop.util.RunJar.main(RunJar.java:160)
フォルダーのアクセス許可を確認すると、次のようになります。
hduser@fernandoPC:/usr/local/mahout/core/target$ ls -l /tmp/mahout-work-hduser/
total 14136
drwxr-xr-x 22 hduser hadoop 4096 Nov 12 18:31 20news-all
drwxr-xr-x 4 hduser hadoop 4096 Nov 12 18:09 20news-bydate
-rw-r--r-- 1 hduser hadoop 14464277 Nov 12 18:09 20news-bydate.tar.gz
sgd 分類子を選択して 20newsgroups を実行すると、正しく動作します。map/reduce タスクを使用しないため、hadoop でさえ実行されていないためだと思います。
私はグーグルで見回しましたが、解決策が見つかりませんでした。
誰にもアイデアはありますか?