3

我正在尝试让 Giraph 在 YARN 集群(Hadoop 2.5.2)上运行,但我是否遇到了这个错误:

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 是否位于集群中每个节点上的这些位置。此外,我已验证 jar 文件确实包含 GiraphApplicationMaster.class。然而它仍然抱怨找不到 GiraphApplicationMaster。

有什么想法可能导致问题或任何解决方法?我考虑将 Giraph jar 分发到每个节点并将它们物理地放在 Hadoop 类路径上,但 Maven 构建默认构建胖 jar,这可能会导致问题。还有其他建议或想法吗?

4

1 回答 1

6

我用命令解决了这个问题:

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/

然后,运行你的工作

于 2015-03-26T15:18:59.777 回答