Кластер Hadoop. 2 быстрых, 4 средних, 8 медленных машин? - PullRequest
8 голосов
/ 10 июня 2009

Мы собираемся приобрести новое оборудование для использования только для кластера Hadoop, и мы застряли на том, что нам следует приобрести. Скажем, у нас есть бюджет в 5 тысяч долларов, если мы купим две супер хорошие машины по 2500 долларов за штуку, четыре по 1200 долларов за штуку или восемь по 600 долларов каждая? Будет ли hadoop работать лучше с более медленными машинами или с наименьшим количеством более быстрых машин? Или, как и большинство вещей "это зависит"? : -)

Ответы [ 5 ]

11 голосов
/ 13 июня 2009

Вам, как правило, лучше, если Hadoop получит несколько дополнительных машин, которые будут менее громоздкими. Вы почти никогда не увидите датододы с более чем 16 ГБ оперативной памяти и двухъядерными четырехъядерными процессорами, и зачастую они меньше этого.

Вы всегда должны запускать один из них в качестве namenode (master), и, как правило, вы также не запускаете datanode (рабочий / подчиненный) в одном и том же блоке, хотя вы можете это сделать, поскольку ваш кластер небольшой. Однако, если вы этого не сделаете, получение 2 машин оставит вам только 1 рабочий узел, что несколько отрицательно сказывается на цели. (Не совсем, потому что вы все еще можете запускать 4-8 заданий параллельно на подчиненном, но все же.)

В то же время вы не хотите иметь кластер из 1000 486 с. Если ваш бюджет составляет 5 тысяч долларов, я бы собрал баланс и заработал 4 машины за 1200 долларов. Они обеспечат приличную базовую характеристику с точки зрения индивидуальной производительности, у вас будет 3 узла данных для распределения работы, и у вас будет пространство для расширения кластера, если вам нужно.

Что нужно иметь в виду: вам нужно запускать несколько карт или сокращать количество задач на одну датоду, а это означает, что несколько JVM работают одновременно. Я бы попытался получить как минимум 4 ГБ, а лучше 8 ГБ оперативной памяти. Процессор менее важен, так как большинство задач MR связаны с IO. Скорее всего, вы получите такую ​​машину за свою цену в 1200 долларов, так что это мой голос.

6 голосов
/ 24 июня 2009

Короче говоря, вы хотите максимально увеличить количество процессорных ядер и дисков. Вы можете пожертвовать надежностью и качеством, но не получите самое дешевое оборудование, так как у вас будет слишком много проблем с надежностью.

Мы использовали 4-ядерные серверы Dell 2xCPU, то есть по 8 ядер на коробку. 16 ГБ памяти на блок, что составляет 2 ГБ на ядро, немного меньше, так как вам нужна память как для ваших задач, так и для буферизации диска. Жесткие диски 5x500 ГБ, и я бы хотел, чтобы мы взяли вместо них терабайт или более высокие.

Для накопителей мое мнение заключается в том, чтобы покупать более дешевые, медленные, ненадежные накопители большой емкости в отличие от более дорогих, более быстрых, компактных и надежных накопителей. Если у вас есть проблемы с пропускной способностью диска, больше буферизации поможет с буферизацией.

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

Чем больше дисков, тем больше пропускная способность диска на ядро, поэтому хорошо иметь столько дисков, сколько ядер. Сравнительный анализ, кажется, указывает на то, что конфигурации RAID медленнее, чем конфигурация JBOD (просто монтирование дисков и распределение нагрузки по ним через Hadoop), и JBOD также более надежен.

ПОСЛЕДНИЙ! Обязательно получите ECC-память. Hadoop проталкивает терабайты данных через память, и некоторые пользователи обнаружили, что конфигурации памяти не-ECC могут иногда приводить к ошибкам в один бит в наборах данных размером в терабайт. Отладка этих ошибок - кошмар.

2 голосов
/ 19 июня 2009

Я рекомендую взглянуть на эту презентацию: http://www.cloudera.com/hadoop-training-thinking-at-scale Здесь описаны различные «за» и «против».

0 голосов
/ 11 марта 2013

другая ссылка: http://hadoopilluminated.com/hadoop_book/Hardware_Software.html (отказ от ответственности: я являюсь соавтором этой бесплатной книги о хэдупе)

0 голосов
/ 30 января 2011

Я думаю, что ответ также зависит от ваших ожиданий роста кластера и используемых вами сетевых технологий. Если у вас все в порядке с 1 ГБ Ethernet - тогда тип машин менее значим. В то же время, если вы хотите 10 Гбит Ethernet, вы должны выбрать меньшее количество более качественных машин, чтобы снизить стоимость работы в сети.

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