5

我在这里使用 PageRank Benchmark 示例运行 Giraph 1.0.0 和 hadoop 2.2.0 。

突然我得到了这个错误结果:

线程“主”java.lang.IllegalArgumentException 中的异常:checkLocalJobRunnerConfiguration:使用 LocalJobRunner 时,必须只有一个工人,因为一次只有 1 个任务!在 org.apache.giraph.job.GiraphJob.checkLocalJobRunnerConfiguration(GiraphJob.java:151) 在 org.apache.giraph.job.GiraphJob.run(GiraphJob.java:225) 在 org.apache.giraph.benchmark.GiraphBenchmark.run (GiraphBenchmark.java:90) 在 org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:70) 在 org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:84) 在 org.apache。 giraph.benchmark.PageRankBenchmark.main(PageRankBenchmark.java:71) 在 sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 在 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 在 sun.reflect.DelegatingMethodAccessorImpl。

当我将工人数量更改为 1 时,我得到:

线程“主”java.lang.IllegalArgumentException 中的异常:checkLocalJobRunnerConfiguration:使用 LocalJobRunner 时,您不能在拆分主/工作模式下运行,因为一次只有 1 个任务!在 org.apache.giraph.job.GiraphJob.checkLocalJobRunnerConfiguration(GiraphJob.java:157) 在 org.apache.giraph.job.GiraphJob.run(GiraphJob.java:225) 在 org.apache.giraph.benchmark.GiraphBenchmark.run (GiraphBenchmark.java:90) 在 org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:70) 在 org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:84) 在 org.apache。 giraph.benchmark.PageRankBenchmark.main(PageRankBenchmark.java:71) 在 sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 在 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 在 sun.reflect。

有什么解决办法吗?

4

1 回答 1

9

嗨,我假设您没有在集群上运行?如果我在我们的演示虚拟机中运行,我会得到同样的错误。

您可以在 giraph-site.xml 中禁用拆分 master worker 行为

giraph.SplitMasterWorker=false

如果您只想在一次性执行期间禁用此功能,您也可以将其作为命令行参数传递给您的程序。

-ca giraph.SplitMasterWorker=false

例如,我为我的大数据讲座运行了一个演示,如下所示:

#!/bin/bash

yarn jar /root/giraph-0.0.1-SNAPSHOT-jar-with-dependencies.jar org.apache.giraph.GiraphRunner at.jku.tk.steinbauer.bigdata.giraph.MaxInDegreeComputation -vif org.apache.giraph.io.formats.JsonLongDoubleFloatDoubleVertexInputFormat -vip /user/hue/graph/tinygraph.txt -of org.apache.giraph.io.formats.IdWithValueTextOutputFormat  -op /user/hue/graph/degree -w 1 -ca giraph.SplitMasterWorker=false
于 2014-11-18T20:15:32.207 回答