Hadoop SAN Storage Повторное использование
У нас есть 600 ТБ хранилища EMC SAN. В настоящее время Oracle RAC использует это хранилище. Мы заменили Oracle RAC на Hadoop Storage (Yarn,Spark - Hive, Shark) из соображений масштабируемости, хотя мы немного пошутили над производительностью.
Для Hadoop рекомендуется локальное хранилище, чем хранилище SAN. Но наше руководство не хочет тратить хранилище SAN. Они хотят защитить инвестиции в хранилище SAN.
Как лучше всего использовать SAN для Hadoop? Модернизация Ethernet поможет? Какие варианты максимально использовать хранилище SAN (как хранилище Hadoop).
2 ответа
Предполагая, что мы используем одну и ту же терминологию - в частности, что SAN - это блочные устройства, к которым осуществляется доступ по сети с волоконно-оптическим каналом, - тогда нет большой разницы между "локальным хранилищем" и "хранилищем san".
Производительность, которую вы получаете, ограничивается теми же факторами - количеством контроллеров, числом шпинделей, коэффициентами конкуренции и т. Д. Причина, по которой вы покупаете массив хранения /SAN, заключается в том, что тогда вы можете консолидировать свою рабочую нагрузку и получить более высокая производительность при той же (или более низкой) средней величине.
Однако есть еще один фактор - SAN обычно включает в себя матрицу, представляющую собой сеть, используемую для передачи трафика вашего дискового хранилища. Коммутаторы, которые вы используете для этого, обычно имеют высокую производительность / низкую задержку, но они также могут быть узкими местами и конфликтами.
Hadoop... эффективно делает то же самое, используя HDFS - используя несколько локальных дисков, чтобы получить большие "пакеты". Это по своей сути вызовет конфликт в вашей сети хранения данных, поэтому вы не получите больше выгоды от консолидации - и вы можете в конечном итоге оказаться в худшем положении, потому что конфликты означают узкие места и задержки.
Вы можете обнаружить, что вам лучше, если ваш массив хранения имеет хорошую пиковую пропускную способность, хорошие механизмы дедупликации и большие кэши. Просто убедитесь, что у вас достаточно сквозной пиковой пропускной способности и пропускной способности IOP. Возможно, вы обнаружите, что вы оказались в худшем положении, чем были бы - но стоит ли вам использовать что-то по более низкой цене, а не платить за это, чтобы сделать это правильно, это скорее решение в области ИТ-политики, чем техническое.
Очевидно, что вы используете SAN для Hadoop, но это не рекомендуется. В контроллерах SAN будет конфликтовать, что ухудшит производительность.
Лучший способ использовать SAN для hadoop:
1.Создайте LUN с RAID-0.
2.LUN не должен быть общим и должен быть выделен только для одного сервера DataNode
3. Если для DataNode требуется 10 ГБ, создайте 2 LUN (или даже числа) и распределите нагрузку этих LUN между двумя контроллерами SAN.
Очевидно, что вы можете использовать SAN для NameNode с соответствующим уровнем RAID (с избыточностью - ненулевой).