GAE mapper выдает ошибки «Нет квоты, прерывание» - PullRequest
0 голосов
/ 25 ноября 2010

Я пытаюсь настроить работу картографа на движке приложений Google с помощью фреймворка mapper (версия Java): http://code.google.com/p/appengine-mapreduce/

Я запускаю работу с помощью кода, подобного таковому:

Configuration conf = new Configuration(false);
conf.setClass("mapreduce.map.class", MyMapper.class, Mapper.class);
conf.setClass("mapreduce.inputformat.class", DatastoreInputFormat.class, InputFormat.class);
conf.set(DatastoreInputFormat.ENTITY_KIND_KEY, "Organization");

// Queue up the mapper request.
String configString = ConfigurationXmlUtil.convertConfigurationToXml(conf);
Queue queue = GaeQueueFactory.getQueue(QUEUE_NAME);
queue.add(
        Builder.url("/mapreduce/start")
        .param("configuration", configString));

Я получаю следующую ошибку в журналах как на сервере dev, так и на сервере prod:

com.google.appengine.tools.mapreduce.MapReduceServlet processMapper: No quota. Aborting!

Нет дополнительной трассировки стека. Это появляется примерно с дюжиной раз каждый раз, когда я пытаюсь начать работу.

Ответы [ 2 ]

0 голосов
/ 26 ноября 2010

Я выяснил проблему и записываю ее здесь для всех, у кого есть эта проблема.Больше всего меня смутило то, что оно работало несколько недель назад и, похоже, недавно прекратило работу.Поскольку приложение не используется в производственной среде, никто не заметил.

Что изменилось, так это то, что я отправлял запросы карты в пользовательскую очередь задач 'mapper';не заданная по умолчанию очередь задач.Поскольку у меня есть несколько заданий сопоставления, я настроил другую очередь для всех заданий сопоставления:

<queue>
    <name>mapper</name>
    <rate>5/s</rate>
    <bucket-size>10</bucket-size>
</queue>

Когда я переключил код на использование очереди по умолчанию, все работало, как ожидалось.Я подал ошибку с командой картографа здесь: http://code.google.com/p/appengine-mapreduce/issues/detail?id=73

0 голосов
/ 25 ноября 2010

Я думаю, у вас недостаточно квоты для обработки задания Mapper с предопределенными значениями по умолчанию.

Попробуйте опустить эти параметры конфигурации параметры:

mapreduce.mapper.inputprocessingrate
Совокупное количество объектов, обрабатываемых в секунду всеми сопоставителями.
Используется для предотвращения использования большого количества квот в течение короткого периода времени.
По умолчанию 1000

mapreduce.mapper.shardcount
Количество одновременно работающих работников.
Это также определяет количество осколков для разделения ввода на
По умолчанию = 8

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...