我正在尝试让 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,这可能会导致问题。还有其他建议或想法吗?