2008-08-20 8 views
9

Были ли у вас какие-либо из них Hadoop? Может ли он использоваться без распределенной файловой системы, которая идет с ним, в архитектуре Share-nothing? Это имело бы смысл?Опыт работы с Hadoop?

Я также заинтересован в результаты любой производительности у вас есть ...

+0

Какой аспект действия хаоса представляет интерес для вас? – 2011-08-14 11:44:23

ответ

8

Да, вы можете использовать Hadoop на локальной файловой системе, используя файловые идентификаторы URI вместо HDFS URI, в разных местах. Я думаю, что многие примеры, которые идут с Hadoop, делают это.

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

3

Как сказал Джо, вы действительно можете использовать Hadoop без HDFS. Однако пропускная способность зависит от способности кластера выполнять вычисления вблизи места хранения данных. Использование HDFS имеет 2 основных преимущества IMHO 1) вычисление распределяется более равномерно по кластеру (уменьшая количество межузловых связей), и 2) кластер в целом более устойчив к сбою из-за недоступности данных.

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

3

Лучший способ обернуть голову вокруг Hadoop - загрузить его и начать изучать примеры включений. Используйте Linux box/VM, и ваши настройки будут намного проще, чем Mac или Windows. Как только вы почувствуете себя комфортно с образцами и концепциями, начните понимать, как ваше проблемное пространство может отображаться в рамках.

Парочка ресурсы могут оказаться полезными для получения дополнительной информации о Hadoop:

Hadoop Summit Videos and Presentations

Hadoop: The Definitive Guide: Rough Cuts Version - Это одна из немногих книг, доступных на Hadoop в этой точке (только?). Я бы сказал, что цена на электронную загрузку стоит даже на этом этапе (книга составляет ~ 40%).

Hadoop: The Definitive Guide: Rough Cuts Version http://oreilly.com/catalog/covers/9780596521998_cat.gif

4

Hadoop MapReduce может работать наверх любого числа файловых систем или даже более абстрактные источников данных, таких как базы данных. На самом деле существует несколько встроенных классов для поддержки файловой системы без HDFS, таких как S3 и FTP. Вы можете легко создать свой собственный формат ввода, а также расширить базовый InputFormat class.

Использование HDFS приносит определенные преимущества. Наиболее важным преимуществом является то, что планировщик заданий MapReduce будет пытаться выполнять карты и уменьшать на физических машинах, которые хранят записи, которые нуждаются в обработке. Это повышает производительность, так как данные могут загружаться прямо с локального диска, а не передаваться по сети, что в зависимости от соединения может быть на несколько порядков медленнее.

0

Parallel/Распределенные вычисления = SPEED < < Hadoop делает это на самом деле очень легко и дешево, так как вы можете просто использовать кучу товарных машин !!!

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

Hadoop - это умный вариант разграничения подхода к решению проблем. Вы существенно разбиваете проблему на более мелкие куски и назначаете куски нескольким различным компьютерам для параллельной обработки параллельно ускорить работу до, а не перегружать одну машину. Каждая машина обрабатывает свой собственный подмножество данных, и результат объединяется в конце. Hadoop на одном узле не даст вам скорость, которая имеет значение.

Чтобы узнать о преимуществах hadoop, вы должны иметь кластер с не менее 4-8 товарными машинами (в зависимости от размера ваших данных) на одной стойке.

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

0

Да, hadoop может быть очень хорошо использован без HDFS. HDFS - это только хранилище по умолчанию для Hadoop. Вы можете заменить HDFS на любые другие хранилища, такие как базы данных. HadoopDB является дополнением к hadoop, который использует базы данных вместо HDFS в качестве источника данных. Google это, вы получите это легко.

0

Если вы только что намокаете, начните с загрузки CDH4 & запустите его. Вы можете легко установить его на локальную виртуальную машину и запустить в «псевдораспределенном режиме», который точно имитирует, как он будет работать в реальном кластере.

0

Да Вы можете использовать локальную файловую систему, используя файл: // при указании входного файла и т. Д., И это будет работать и с небольшими наборами данных. Но фактическая мощность hadoop основана на распределенном и совместном использовании механизма. Но Hadoop используется для обработки огромного количества данных. Этот объем данных не может обрабатываться с помощью одного локального компьютера, или даже если ему это потребуется, потребуется много времени для завершения задания. Поскольку ваш входной файл находится в общем местоположении (HDFS) несколько карт могут считывать их одновременно и сокращать время до завершения задания. В двух словах вы можете использовать его с локальной файловой системой, но для удовлетворения бизнес-требований, которые вы должны использовать в общей файловой системе.

0

Отличные теоретические ответы выше.

Чтобы изменить файловую систему hadoop на локальную, вы можете изменить ее в конфигурационном файле «core-site.xml», как показано ниже, для версий hadoop 2.x.x.

<property> 
    <name>fs.defaultFS</name> 
    <value>file:///</value> 
    </property> 

для версий hadoop 1.x.x.

<property> 
    <name>fs.default.name</name> 
    <value>file:///</value> 
    </property>