Некоторое время мне нравится читать ServerFault, и я наткнулся на немало тем о Hadoop. У меня были небольшие проблемы с выяснением того, что он делает с глобальной точки зрения.
Итак, мой вопрос довольно прост: что такое Hadoop? Что оно делает ? Для чего его используют ? Почему это надрывает задницу?
Редактировать : Если у кого-то есть демонстрации / объяснения случаев использования Hadoop, это было бы фантастически.
Прямо из пасть лошади:
Hadoop - это платформа для запуска приложений в больших кластерах, построенных на стандартном оборудовании. Инфраструктура Hadoop прозрачно обеспечивает как надежность приложений, так и перемещение данных. Hadoop реализует вычислительную парадигму под названием Map / Reduce, в которой приложение разделено на множество небольших фрагментов работы, каждый из которых может быть выполнен или повторно выполнен на любом узле кластера. Кроме того, он предоставляет распределенную файловую систему (HDFS), которая хранит данные на вычислительных узлах, обеспечивая очень высокую совокупную пропускную способность в кластере. И Map / Reduce, и распределенная файловая система спроектированы таким образом, что сбои узлов автоматически обрабатываются платформой.
Map / Reduce - парадигма программирования, ставшая популярной благодаря Google где в задаче делится на небольшие части и распределяется по большому количеству узлов для обработки (карта), а затем результаты суммируются в окончательный ответ (сокращение). Google и Yahoo используют это, помимо прочего, для своих поисковых систем.
Hadoop - это общая платформа для реализации такой схемы обработки. Что касается того, почему он пинает задницу, в основном потому, что он обеспечивает удобные функции, такие как отказоустойчивость, и позволяет вам объединить практически любое оборудование для обработки. Он также очень хорошо масштабируется, если ваша проблема соответствует парадигме.
Вы можете прочитать об этом на интернет сайт.
Что касается некоторых примеров, Пол привел несколько, но вот еще несколько, которые вы могли бы сделать, но не настолько веб-ориентированные:
По сути, модель очень хорошо работает для задачи, которую можно разбить на аналогичные дискретные вычисления, которые полностью независимы и могут быть рекомбинированы для получения окончательного результата.
У Cloudera есть несколько отличных видеороликов, в которых объясняются принципы Map Reduce и Hadoop.
http://www.cloudera.com/hadoop-training-basic
Одна из основных идей, лежащих в основе MapReduce, заключается в том, что для больших наборов данных вы будете привязаны к своим дискам, поэтому в Hadoop HDFS дает вам возможность разделять вещи между множеством узлов, обеспечивая параллельную обработку.
Некоторые виды использования Hadoop, представляющие интерес для системных администраторов, часто связаны с обработкой больших наборов файлов журналов - я могу опубликовать только одну ссылку, но они включают, Google должен найти их:
Изначально hadoop разрабатывался для большого количества наборов данных в среде OLAP.
С введением Hbase поверх hadoop можно также использовать для обработки OLAP. Hadoop - это платформа со всеми подкомпонентами, такими как map reduce, hdfs, hbase, pig.
Я нашел одну статью с основами HADoop в Почему представлен Hadoop.
В Hadoop хранение данных в виде файлов, а не в таблицах, столбцах.