Требования к оборудованию в зависимости от типа нагрузки
Рабочие нагрузки на Hadoop стоят в основе множества вопросов по управлению ресурсами и возникновению конфликтов. Конфликты могут быть разного рода, например:
-
между долгосрочными заданиями, интенсивно использующими ресурсы, и краткосрочными интерактивными запросами;
-
между нагрузкой, создаваемой Hadoop, и нагрузкой от других систем, установленных на узлах одного кластера.
Можно выделить три основных типа (шаблона) нагрузки:
-
Интенсивное вычисление (Compute intensive);
-
Интенсивное хранение (Storage intensive);
-
Сбалансированная нагрузка (Balanced).
Бывают ситуации, когда сначала сложно отнести характер нагрузки к одному из перечисленных выше типов. Начальные действия в кластере обычно значительно отличаются от тех заданий, которые будут выполняться в производственной среде. Поэтому мы рекомендуем следовать рекомендациям по настройке на сбалансированную нагрузку в период развития пилотного кластера Hadoop. Затем вы можете пересмотреть настройки в зависимости от реальной нагрузки.
Паттерны нагрузки
Равномерность нагрузки
Узлы Hadoop подобны колесам транспортного средства, которые передвигают все остальное. Если колеса одинаковые, то и движение будет равномерным, без рывков. Если они разные, то становится сложным добиться равномерного движения. Поэтому мы рекомендуем обеспечить одинаковую конфигурацию всех узлов кластера с минимальными различиями между узлами одного типа, то есть между узлами DataNode и между узлами NameNode.
Характеристики следующих компонентов должны быть одинаковыми для всех узлов кластера:
-
Процессоры
-
Оперативная память
-
Сетевой интерфейс
Подробную таблицу с рекомендуемым оборудованием вы найдете в разделе Общие рекомендации.
Интенсивное вычисление
Этот тип нагрузки связан с работой процессоров и требует большого количества ядер процессора и большого объема оперативной памяти для хранения данных в процессе их обработки. Такой тип нагрузки характерен для процессов обработки естественной речи и других высоконагруженных систем (High-Performance Computing Cluster, HPCC). Для обеспечения высокой скорости вычислений необходимо устанавливать не менее 10 ядер процессоров в каждый узел.
Интенсивное хранение
При таком типе нагрузки рекомендуем больше инвестировать в дисковые устройства внутри каждого узла. Количество узлов и состав дисковых устройств определяется объемом данных для хранения и обработки. Обычно количество устройств хранения одинаково для всех узлов.
Для серверов с низкой нагрузкой (low density server) основной целью является обеспечение низкой стоимости при установке большого количества узлов. 8 ядер процессора в сервере удовлетворяет этим требованиям и предоставляет достаточную мощность обработки. Каждая задача map или reduce выполняется одним ядром, но поскольку некоторое время уходит на ожидание выполнения операций ввода-вывода, имеет смысл планировать превышение нагрузки на ядра процессора (oversubscription). При наличии 8 ядер в узле можно запланировать создание около 12 слотов под задачи map и reduce.
Оптимальный объем жестокого диска 2-3 ТБ. В среднем устанавливают 12 дисков на узел.
Сбалансированная нагрузка
Логика выбора оборудования не зависит от того, обладает ли кластер высокой плотностью или низкой плотностью. Например, можно установить в узел 12 дисковых устройств по 2-3 ТБ или 24 устройства по 1 ТБ. Использование дисков с меньшим объемом предпочтительнее, так как это повышает пропускную способность ввода-вывода и отказоустойчивость. Для обеспечения достаточной вычислительной мощности используют 8 ядер процессора и 128-256 ГБ оперативной памяти в каждом узле.
Общие рекомендации
ВАЖНО
Системные требования, приведенные ниже, являются минимальными. Целевой сайзинг необходимо рассчитывать исходя из требований вашей организации. |
Следующая таблица содержит рекомендации по подбору оборудования, базируясь на типовых нагрузках кластера ADH.
Сервер | Типовая нагрузка | Хранилище данных | Процессор | Оперативная память | Сетевое оборудование |
---|---|---|---|---|---|
DataNode |
Сбалансированная нагрузка |
12 обычных дисков по 2-3 ТБ |
8 ядер |
128-256 ГБ |
1 Гбит/с для подключения, 2x10 Гбит/с межсоединение |
Интенсивные вычисления |
12 обычных дисков 1-2 ТБ |
10 ядер |
128-256 ГБ |
10 Гбит/с для подключения, 2x10 Гбит/с межсоединение |
|
Преимущественно хранение данных |
12 обычных дисков 4+ ТБ |
8 ядер |
128-256 ГБ |
10 Гбит/с для подключения, 2x10 Гбит/с межсоединение |
|
NameNode |
Сбалансированная нагрузка |
4+ Disks 2-3 ТБ RAID 10 |
8 ядер |
128-256 ГБ |
10 Гбит/с для подключения, 2x10 Гбит/с межсоединение |
Менеджер ресурсов YARN |
Сбалансированная нагрузка |
4+ Disks 2-3 ТБ RAID 10 |
8 ядер |
128-256 ГБ |
10 Гбит/с для подключения, 2x10 Гбит/с межсоединение |