ApacheGiraph不能在主/辅分离模式下运行,因为一次只有一个任务

hlswsv35  于 2021-06-02  发布在  Hadoop
关注(0)|答案(1)|浏览(380)

我使用这里的pagerank基准测试示例运行了giraph1.0.0和hadoop2.2.0。
突然我得到了这个错误结果:
线程“main”java.lang.illegalargumentexception中出现异常:checklocaljobrunnerconfiguration:使用localjobrunner时,必须只有一个工作进程,因为一次只能有一个任务!在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(本机方法)在sun.reflect.nativemethodaccessorimpl.invoke(nativemethodaccessorimpl)。java:57)在sun.reflect.delegatingmethodaccessorimpl.invoke(delegatingmethodaccessorimpl。java:43)在java.lang.reflect.method.invoke(方法。java:606)在org.apache.hadoop.util.runjar.main(runjar。java:212)
当我把工人人数改为1时,我得到:
线程“main”java.lang.illegalargumentexception中出现异常:checklocaljobrunnerconfiguration:使用localjobrunner时,不能在拆分主/辅模式下运行,因为一次只有一个任务!在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(本机方法)在sun.reflect.nativemethodaccessorimpl.invoke(nativemethodaccessorimpl)。java:57)在sun.reflect.delegatingmethodaccessorimpl.invoke(delegatingmethodaccessorimpl。java:43)在java.lang.reflect.method.invoke(方法。java:606)在org.apache.hadoop.util.runjar.main(runjar。java:212)
有什么解决办法吗?

xeufq47z

xeufq47z1#

嗨,我想你不是在群集上运行的?如果我在我们的演示vm中运行,我会得到相同的错误。
您可以在giraph-site.xml中禁用拆分主工作线程行为

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

相关问题