Apache Giraph - 无法在拆分主/工作模式下运行,因为一次只能执行1个任务

 蕊蕊宝宝妈妈_534 发布于 2022-12-18 15:38

我在这里使用PageRank Benchmark示例运行了带有hadoop 2.2.0的Giraph 1.0.0 .

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

线程"main"中的异常java.lang.IllegalArgumentException:checkLocalJobRunnerConfiguration:使用LocalJobRunner时,必须只有一个worker,因为一次只能有一个任务!在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)at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)at sun.reflect.DelegatingMethodAccessorImpl.invoke( DelegatingMethodAccessorImpl.java:43)在java.lang.reflect.Method.invoke(Method.java:606)在org.apache.hadoop.util.RunJar.main(RunJar.java:212)

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

线程"main"中的异常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)at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)at sun.reflect.DelegatingMethodAccessorImpl.invoke( DelegatingMethodAccessorImpl.java:43)在java.lang.reflect.Method.invoke(Method.java:606)在org.apache.hadoop.util.RunJar.main(RunJar.java:212)

有解决方案吗

1 个回答
  • 嗨,我假设您没有在群集上运行?如果我在我们的演示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
    

    2022-12-18 15:40 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有