我尝试从 Eclipse IDE 执行 giraph 自定义代码,当我尝试运行代码时,它在线程“main”java.lang.IllegalArgumentException 中显示异常:checkLocalJobRunnerConfiguration:使用 LocalJobRunner 时,必须只有一个工作人员,因为在一次!所以我想设置 giraph.SplitMasterWorker=false。如何设置它以及在哪里设置它?
3 回答
将 -ca giraph.SplitMasterWorker=false 作为参数传递给您的应用程序。
如果您在单节点集群上运行 giraph,则粘贴“-ca giraph.SplitMasterWorker=false”会有所帮助。但是,如果您尝试在基于 hadoop 版本 2.xx 的 AWS EC2 等多节点集群上运行 giraph,那么我绝对建议修改 mapred-site.xml 文件,在其中添加诸如 mapred.job.tracker 值之类的参数。
giraph.SplitMasterWorker=false
是您在调用 giraph runner 时必须设置的变量。这可以作为自定义变量传入-ca
. 另外我认为你正在使用-w
参数,如果你在本地机器上运行它不应该超过 1,因为没有从节点可以作为工作人员工作
例如hadoop jar /usr/local/giraph1.0/giraph-examples/target/giraph-examples-1.1.0-for-hadoop-2.7.0-jar-with-dependencies.jar org.apache.giraph.GiraphRunner org.apache.giraph.examples.ConnectedComponentsComputation -vif org.apache.giraph.io.formats.IntIntNullTextInputFormat -vip -vof org.apache.giraph.io.formats.IdWithValueTextOutputFormat -op -w 5 -ca giraph.SplitMasterWorker=false