2015-03-12 2 views
2

Я пытающегося ито получить Giraph работает на ПРЯЖИ кластере (Hadoop 2.5.2) , но я застрял на этой ошибки:Не удалось найти или загрузить основной класс org.apache.giraph.yarn.GiraphApplicationMaster

Could not find or load main class org.apache.giraph.yarn.GiraphApplicationMaster 

Я пробовал все, что могу найти в предыдущих сообщениях по этой теме, но безрезультатно. Моя командная строка такова:

hadoop jar /home/prhodes/giraph/giraph-examples/target/giraph-examples-1.2.0-SNAPSHOT-for-hadoop-2.5.2-jar-with-dependencies.jar org.apache.giraph.GiraphRunner org.apache.giraph.examples.SimpleShortestPathsComputation -vif org.apache.giraph.io.formats.JsonLongDoubleFloatDoubleVertexInputFormat -vip /user/prhodes/input/tiny_graph.txt -vof org.apache.giraph.io.formats.IdWithValueTextOutputFormat -op /user/prhodes/giraph_output/shortestpaths -w 4 -yj /home/prhodes/giraph/giraph-examples/target/giraph-examples-1.2.0-SNAPSHOT-for-hadoop-2.5.2-jar-with-dependencies.jar,/home/prhodes/giraph/giraph-core/target/giraph-1.2.0-SNAPSHOT-for-hadoop-2.5.2-jar-with-dependencies.jar 

Я проверил, что эти банки находятся в этих местах на каждом узле кластера. Кроме того, я проверил, что файл jar содержит файл GiraphApplicationMaster.class. И все же он все еще жалуется на то, что не найдет GiraphApplicationMaster.

Любые идеи, что еще может вызвать проблему, или любые обходные пути? Я подумал о том, чтобы распределить банки Giraph для каждого узла и физически помещать их в путь Hadoop Classpath, но сборка Maven по умолчанию создает живые банки, что, вероятно, вызовет проблемы. Любые другие предложения или идеи?

ответ

4

Я решил эту проблему с помощью команд:

cp $GIRAPH_HOME/giraph-examples/target/giraph-examples-1.1.0-for-hadoop-2.6.0-jar-with-dependencies.jar $HADOOP_HOME/share/hadoop/yarn/lib/ 

cp $GIRAPH_HOME/giraph-examples/target/ $HADOOP_HOME/share/hadoop/yarn/lib/ 

затем запустить работу

Смежные вопросы