2012-05-07 2 views
2

Я работаю над проектом Hadoop и создаю много данных в своем локальном кластере. Позднее я буду использовать решение Hadoop на основе облачных вычислений, потому что мой кластер Hadoop очень мал по сравнению с реальной рабочей нагрузкой, однако у меня нет выбора, какой из них я буду использовать, например, на базе Windows Azure, EMR или что-то еще. Я создаю много данных локально и хочу хранить эти данные в некоторых облачных хранилищах на основе того, что я буду использовать эти данные с Hadoop позже, но очень скоро.Для Hadoop, какое хранилище данных выбрать, Amazon S3 или Azure Blob Store?

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

ответ

1

Прежде всего, это отличный вопрос. Давайте попробуем разобраться «Как данные обрабатываются в Hadoop»:

  1. В Hadoop все данные обрабатываются на Hadoop кластера означает, что при обработке любых данных, что данные копируются из своих источников в HDFS, который является одним из важнейших компонент Hadoop.
  2. Когда данные копируются в HDFS только после того, как вы запустите Map/Reduce jobs, чтобы получить ваши результаты.
  3. Это означает, что не имеет значения, где и где находятся ваши источники данных (Amazon S3, Azure Blob, SQL Azure, SQL Server, исходный источник и т. Д.), Вам придется перемещать/переносить/копировать свои данные из источника в HDFS , в пределах Hadoop.
  4. После обработки данных в кластере Hadoop в результате будет сохранено местоположение, которое вы бы настроили в своей работе. Источником выходных данных может быть HDFS или внешнее местоположение, доступное из Hadoop Cluster

  5. После того, как вы скопировали данные в HDFS, вы можете сохранить один HDFS столько, сколько хотите, но вам придется заплатить цену за использование Hadoop кластер.

  6. В некоторых случаях, когда вы используете Hadoop Job между некоторым интервалом и перемещением данных/копированием, можно сделать быстрее, хорошо иметь стратегию: 1) приобрести кластер Hadoop 2) скопировать данные 3) запустить задание 4) релиз кластера.

Так на основе вышеизложенной информации, при выборе источника данных в облаке для Hadoop кластера вы должны учитывать следующее:

  1. Если у вас есть большие объемы данных (что является нормальным с Hadoop) для обработки, рассмотрения различных источников данных и времени, которое потребуется для копирования/перемещения данных из этого источника данных в HDFS, потому что это будет ваш первый шаг.

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

  3. Вам также необходимо рассмотреть, как вы будете перемещать большой объем данных из вашего текущего местоположения в любой облачный магазин. Лучшим вариантом было бы иметь хранилище, в котором вы можете отправить свой диск с данными (HDD/Tape и т. Д.), Потому что загрузка нескольких данных ТБ займет много времени.

  4. Amazon EMR (уже доступен), Windows Azure (HadoopOnAzure в CTP) и Google (BigQuery в режиме предварительного просмотра на основе Google Dremel) предоставляет предварительно сконфигурированные кластеры Hadoop в облаке, поэтому вы можете выбрать, где бы вы хотели запускать свои Hadoop, тогда вы можете рассмотреть облачное хранилище.

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

  6. Например, с помощью HadooponAzure вы можете подключать различные источники данных, то есть Amazon S3, Azure Blob Storage, SQL Server и SQL Azure и т. Д., Поэтому различные источники данных являются лучшими с любым облачным кластером Hadoop.