Как рассчитать количество картографов / редукторов, чтобы максимизировать производительность mahout RecommenderJob, работающего в облаке Amazon?
Каков наилучший способ рассчитать правильное количество картографов и редукторов hadoop в зависимости от того, какие экземпляры используются / доступны в Amazon Elastic MapReduce? (используя RecommenderJob дистрибутива mahout-core-0.7)
1 ответ
Общий ответ Hadoop применяется:
- Пусть Hadoop выберет количество картографов
- Установите количество редукторов, равное количеству редуцирующих слотов в вашем кластере.
Для EMR посмотрите количество редукторов, которые запускаются по умолчанию для используемого вами типа экземпляра: http://docs.aws.amazon.com/ElasticMapReduce/latest/DeveloperGuide/HadoopMemoryDefault_AMI2.3.html
Затем умножьте на количество работников, которых вы используете. Это довольно идеальное количество редукторов - или даже кратное число.
Пока у вас нет конкретной причины думать, что они не оптимальны, я бы пошел с этим.
PS Не забудьте использовать точечные экземпляры для своих работников, чтобы сэкономить деньги и / или разместить больше работников.
Перерыв в рекламе: если вас интересует Mahout, рекомендации и работа на EMR, вам, вероятно, стоит обратить внимание на Myrrix. Я основатель, а также автор кода Mahout, который вы сейчас используете. Это рекомендательный продукт следующего поколения, основанный на Hadoop, который, помимо прочего, уже хорошо оптимизирован для EMR.