Пилотный кластер
Ниже приведен пример планирования пилотного кластера Hadoop на основе сбалансированного типа нагрузки (balanced workload pattern). Даже небольшой и простой кластер требует не менее трех узлов DataNode и один NameNode. Можно использовать один физический сервер (или виртуальную машину) или различные машины.
Более подробная информация о нагрузке приведена в руководстве Требования к оборудованию в зависимости от типа нагрузки.
Параметры
Для пилотного проекта выбираем следующие начальные условия:
-
Объем данных — около 500 ТБ.
-
Коэффициент репликации равен трём.
-
Период сохранения данных равен одному году.
-
Характер нагрузки — сбалансированный.
-
Формат данных: 20% — простой текст, AVRO, Parquet, Jason, ORC, и другие; 80% — сжатые данные в формате GZIP и Snappy.
Оборудование
Спецификация на узлы DataNode зависит от объема хранимых и анализируемых данных.
Объем данных
В соответствии с коэффициентом репликации, равным трём, нам необходимо хранить данные объемом 500 ТБ * 3 = 1500 ТБ в течение одного года. Предположим, что 20% данных находятся в контейнерном формате, а 80% — архивированные данные в формате Parquet, сжатые с помощью Snappy. Эффективность сжатия составляет 70-80%, примем 80%. Расчет объема хранилища выглядит следующим образом:
При заданных условиях требуемый объем равен
1500 * 0.2 + 1500 * 0.8 * (1 - 0.8) = 540 ТБ
Кроме учтенных хранимых данных, необходимо также пространство для обработки данных и выполнения других задач. Поэтому следует предусмотреть дополнительное пространство. Предположим, что в среднем каждый день кластер обрабатывает 10% всех хранимых данных и процесс обработки создает в три раза больше временных данных. Таким образом, нам необходимо около 30% дополнительного объема.
Требуемый объем хранилища для данных и различных видов обработки будет 540 + 540 * 0.3 = 702 ТБ.
Для узлов DataNode рекомендуются обычные дисковые накопители. Файловая система требует для служебных целей около 20% от пространства хранения данных. Поэтому необходимо увеличить требования к пространству еще на 20%. Теперь мы имеем окончательное значение 702 * (1 + 0.2) = 842.4 ТБ, которое округлим до 845 ТБ.
Количество узлов DataNode
Вычислим количество узлов DataNode, необходимых для образования хранилища объемом 845 ТБ. Предположим, что в каждый узел мы устанавливаем 12 обычных дисковых устройств объемом по 4 ТБ. Следовательно, объем хранилища в одном узле будет 48 ТБ.
Необходимое количество узлов DataNode будет 845 / 48 ~ 18.
ПРИМЕЧАНИЕ
Нет необходимости устанавливать весь кластер в первый же день. Можно наращивать его размер, начиная с установки 20% от требуемого количества узлов и постепенно увеличивая до 100%.
|
Процессор и память
Согласно рекомендациям следующие характеристики удовлетворяют требованиям пилотного кластера:
-
8 ядер процессора;
-
128 ГБ оперативной памяти.