私はhadoopに不慣れで、マハウトとは言いません。誰かがここを通過するのを手伝ってくれることを願っています.. 2日間試してきました..
すでにHadoopクラスターが実行されています.
Hadoop-2.0.0-alpha を使用しています。
mahout (ahout-distribution-0.7) と maven-2.2.1 (最新の maven-3.0.4 は動作しません) をインストールしました
今、私は mahout を実行して、それが何であるかを知りたいと思います。
「mahout」と入力すると、mahout で使用可能なオプション (アルゴリズム) のリストが出力されることを知りましたが、mahout と入力すると、Java 例外が発生するだけです。
$ [hadoop@localhost bin]$ mahout
MAHOUT_LOCAL is not set; adding HADOOP_CONF_DIR to classpath.
Running on hadoop, using /home/hadoop/hadoop/bin/hadoop and HADOOP_CONF_DIR=/home/hadoop/hadoop/conf
MAHOUT-JOB: /home/hadoop/mahout/examples/target/mahout-examples-0.7-job.jar
Exception in thread "main" java.lang.NoSuchMethodError: org.apache.hadoop.util.ProgramDriver.driver([Ljava/lang/String;)V
at org.apache.mahout.driver.MahoutDriver.main(MahoutDriver.java:123)
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:616)
at org.apache.hadoop.util.RunJar.main(RunJar.java:208)
私がオンラインでグーグルで調べたところ、ほとんどの回答では、hadoop の下位バージョン、つまり hadoop-0.20 を使用する必要がありました。
ありがとうございました。
======== 新規編集 ========
Hadoop のバージョンを hadoop-1.0.3 に変更したところ、「mahout」と入力すると機能するようになりました (私の mahout は version7 です)。
しかし、例を実行しようとすると、同様のエラーで再び失敗します..
$ hadoop /home/hadoop/mahout/core/target/mahout-core-0.7-job.jar org.apache.mahout.cf.taste.hadoop.item.RecommenderJob -Dmapred.output.dir=output -Dmapred.input.dir=input/prefs.txt --usersFile input/users.txt --similarityClassname SIMILARITY_PEARSON_CORRELATION
Caused by: java.lang.ClassNotFoundException: .home.hadoop.mahout.core.target.mahout-core-0.7-job.jar
at java.net.URLClassLoader$1.run(URLClassLoader.java:217)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
at java.lang.ClassLoader.loadClass(ClassLoader.java:321)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294)
at java.lang.ClassLoader.loadClass(ClassLoader.java:266)
Could not find the main class: /home/hadoop/mahout/core/target/mahout-core-0.7-job.jar. Program will exit.
うーん..