2016-07-23 27 views
0

Ich habe das folgende Projekt auf Github https://github.com/fbukevin/hadoop-cooccurrence gefunden, das einen Co-Occurrence-Algorithmus in Hadoop verwendet.Co-Occurrence-Algorithmus in Hadoop ausführen

Ich benutze ein virtualisiertes Ubuntu 14.04 und schaffte es, Hadoop als Einzelknotencluster mit dieser Anweisung http://www.bogotobogo.com/Hadoop/BigData_hadoop_Install_on_ubuntu_single_node_cluster.php zu installieren. Ich bin neu in Hadoop und das sind meine ersten Versuche, ein Programm mit Garn zu führen.

kann ich den Befehl yarn in der Befehlszeile ausführen, aber ich weiß nicht, wie der Co-Auftritts-Algorithmus in yarn auszuführen. In der Beschreibung heißt es, dass das Programm kann ich das versucht, mit dem folgenden Befehl

$ yarn jar <hadoop>.jar [pairs | stripes] <input_file>

So verwendet werden:

$ yarn jar /home/vmiller/Downloads/hadoop-2.7.2/share/hadoop/common/hadoop-common-2.7.2.jar pairs pg100.txt 
Exception in thread "main" java.lang.ClassNotFoundException: pairs 
    at java.net.URLClassLoader$1.run(URLClassLoader.java:366) 
    at java.net.URLClassLoader$1.run(URLClassLoader.java:355) 
    at java.security.AccessController.doPrivileged(Native Method) 
    at java.net.URLClassLoader.findClass(URLClassLoader.java:354) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:425) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:358) 
    at java.lang.Class.forName0(Native Method) 
    at java.lang.Class.forName(Class.java:278) 
    at org.apache.hadoop.util.RunJar.run(RunJar.java:214) 
    at org.apache.hadoop.util.RunJar.main(RunJar.java:136) 

Dies ist definitiv nicht richtig, aber ich weiß nicht, wie man läuft der Befehl korrekt. Irgendwie muss ich yarn mitteilen, das Cooccurrence.java in hadoop-cooccurrence/src/main/java/cooc/Cooccurrence.java zu verwenden, weil diese Datei die zu sein scheint, die den Co-Occurrence-Algorithmus ausführt. Aber wie kann ich Garn sagen, diese Datei mit den pairs und stripes Argumenten in der Eingabedatei zu verwenden?

Antwort

0

ich das Programm tatsächlich geschaffen laufen. Mein Ansatz war nicht so falsch, da Tokiloutok erwähnte, dass ich die richtige JAR-Datei einfügen musste.

Bevor ich den Befehl ausführen konnte, musste ich die pg100.txt in HDFS importieren.

So musste ich mit

hdfs dfsadmin -safemode leave 

und importieren Sie die Datei mit

hdfs dfs -put /home/vmiller/workspace/hadoop-cooccurrence/pg100.txt /user/hadoop/ 

so den sicheren Modus des Namens Knoten deaktivieren, dass ich endlich

yarn jar target/cooc-1.0-SNAPSHOT.jar pairs pg100.txt 

laufen konnte, ohne irgendwelche Fehler bekommen.

0

Sie sollten jar den Pfad zum Glas einschließlich der Cooccurrence-Klasse angeben. Jar befindet sich im Zielordner (cooc-1.0-SNAPSHOT.jar).

Sie brauchen nicht die Klassennamen, um anzuzeigen, wie es

in der Manifest-Datei eingerichtet ist