2015-06-02 3 views
0

Я пытаюсь выполнить пользовательский код giraph из Eclipse IDE, и когда я пытаюсь запустить код, он показывает Exception в потоке «main» java.lang.IllegalArgumentException: checkLocalJobRunnerConfiguration: при использовании LocalJobRunner, должен иметь только одного работника только с одной задачей за раз! Итак, я хочу установить giraph.SplitMasterWorker = false. Как его установить и где его установить?Как установить значение SplitMasterWorker как false в giraph

ответ

4

pass -ca giraph.SplitMasterWorker = false для вашего приложения в качестве аргумента.

+0

Большое спасибо за ваш ответ – ldmi

0

Если вы используете giraph на кластере с одним узлом, тогда вставьте «-ca giraph.SplitMasterWorker = false». Однако, если вы попытаетесь запустить giraph на кластере с несколькими узлами, например, с базой AWS EC2 на версии 2.2x.x, я обязательно рекомендую изменить файл mapred-site.xml, добавив в него значение mapred.job.tracker.

0

giraph.SplitMasterWorker=false - это переменная, которую вы должны установить при вызове бегуна. Это можно передать как пользовательскую переменную под -ca. Также я думаю, что вы используете параметр -w, если вы работаете на вашем локальном компьютере, оно не должно превышать 1, так как нет рабочих станций для работы в качестве рабочего

E.g. 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