2016-02-05 11 views
0

Я хочу анализировать 7 ТБ данных и хранить выходные данные в базе данных, скажем, HBase. Мой ежемесячный прирост составляет 500 ГБ, но для анализа данных на 500 ГБ мне не нужно снова просматривать 7 Тбайт данных.Конфигурация машины Hadoop

В настоящее время я думаю об использовании Hadoop с Hive для анализа данных и Hadoop с MapReducer и HBase для обработки и хранения данных.

В настоящее время у меня 5 машин следующей конфигурации:

данных Узел Конфигурация сервера: 2-2,5 ГГц Core гекса CPU, 48 Гб ОЗУ, 1 ТБ -7200 оборотов в минуту (X 8)

Number узлы данных: 5

сервер

Имя узла: конфигурация сервера корпоративного класса (X 2) (1 дополнительные для вторичного

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

ответ

0

калибровочный Существует формула дается Hortonworks для расчета размерных

((Исходный размер + Размер YOY роста + Intermediate Data) * Repl Cpount * 1,2)/Сост Ratio

Предполагая, что по умолчанию вары

repl_count == 3 (по умолчанию) comp_ration = 3-4 (по умолчанию) Промежуточный размер данных = 30% -50% от сырого размера данных .- 1,2 фактор - температура пространства

Итак, для вашего первого года вам понадобится 16,9 ТБ. У вас есть 8TB * 5 == 40. Таким образом, пространство не является темой.

Рабочие характеристики 5 Datanodes. Чтение 1 ТБ занимает в среднем 2,5 часа (источник Hadoop - окончательное руководство) на одном диске. 600 ГБ с одним приводом - 1,5 часа. Оценивая, что вы реплицировали, чтобы вы могли использовать все 5 узлов параллельно, это означает чтение всех данных с 5 узлами, которые могут получить до 18 минут.

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

consumution памяти

48 Гб не так много. ОЗУ по умолчанию для многих узлов данных начинается с 128 ГБ. Если вы используете кластер только для обработки, это может сработать. В зависимости от того, как вы настраиваете кластер и какие технологии используете для обработки. Если у вас есть одновременный доступ, вероятно, вы столкнетесь с ошибками кучи.

Подводя итог:

Это во многом зависит то, что вы хотите сделать с вами кластер и как комплекс ваши запросы. Также имейте в виду, что одновременный доступ может создавать проблемы.

Если время обработки данных 600 ГБ (в качестве базовой линии - реальные значения зависит от многих факторов, неизвестных, отвечая на эти вопросы), достаточно, и у вас нет одновременного доступа, идите на это.

+0

Как я сказал ранее, мне не нужно выполнять данные 7tb каждый раз, каждый месяц мне приходится анализировать только 600 ГБ данных. – Ank

+0

Я отредактировал свой ответ на основе вашего ввода –

0

Я бы порекомендовал преобразовать данные по прибытии. Улей может дать огромное ускорение скорости, переключившись на формат сжатого столбца, например ORC или Parquet. Мы говорим о потенциале x30-x40 раз improvements in queries performance. С последним улей вы можете использовать streaming data ingest в файлах ORC.

Вы можете оставить вещи, как вы планировали (HBase + Hive), и просто полагаться на грубую силу 5 x (6 Core, 48GB, 7200 RPM), но вам не обязательно. Небольшая работа может привести вас к интерактивной временной области запроса времени, которая откроет анализ данных.

Смежные вопросы