我使用这里的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)
有什么解决办法吗?
1条答案
按热度按时间xeufq47z1#
嗨,我想你不是在群集上运行的?如果我在我们的演示vm中运行,我会得到相同的错误。
您可以在giraph-site.xml中禁用拆分主工作线程行为
如果您只想在单次执行期间禁用它,还可以将其作为命令行参数传递给您的程序。
例如,我为我的大数据讲座运行了一个演示,如下所示: