Hadoop DHFS и другие распределенные ФС есть ли опыт использования?

phprus

Moderator
Команда форума
Добрый день!

Скажите пожалуйста, использовал-ли кто-нибудь Hadoop DHFS, Lustre, GlusterFS или аналогичные распределенные файловые системы в реальной работе? если использовали, то поделитесь пожалуйста опытом производительности этих систем на Запись данных.

В моем случае нужно куда-либо сохранять данные, которые генерируются на разных узлах большого кластера. Генерируются приблизительно равномерно. Данные разбиты на блоки по ~20Мб и каждый блок можно сохранять не зависимо от других. Сейчас есть расшаренный по NFS диск, который видят все узлы кластера, но решение с NFS очень отрицательно сказывается на производительности.
 

boombick

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

Sherman

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

phprus

Moderator
Команда форума
Sherman
В итоге нужно решить задачу сохранения примерно гигабитного потока данных. Поток представляет из себя набор несвязанных между собой блоков данных по Х мегабайт (каждый блок имеет уникальный идентификатор, например имя файла). Файловая система общего назначения здесь не обязательна.
Низкая latency для каждого подключенного клиента я думаю не нужна.
Схема такая, что изначально данные передаются на узлы кластера по сети (сеть передать такой трафик позволяет), после чего узлы кластера должны сохранить полученные данные в каком-либо общем хранилище и в случае необходимости провести какую-либо обработку. При этом задача передачи/обработки по сути решена.
 

Sherman

Mephi
Это около 120 MB/sec. У вас что бесконечные диски? Вы же терабайтный диск часа за три забиваете с такой скоростью записи:) Кстати, даже последовательно писать с такой скоростью на обычный sata диск проблематично.

А HDFS между прочим еще и копирует каждый кусок в два места. То есть получается, что каждый кусок представлен на трех нодах одновременно. Впрочем, все это лирика. Вы же еще и обрабатывать это хотите(zomg!).

Опишите подробнее задачу.

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

phprus

Moderator
Команда форума
Sherman
На практике там кластер из 200 узлов (у каждого узла есть локальный диск) связанных по GE и InfiniBand. Вот поверх этого и планируется что-либо сделать для сохранения всех получаемых данных.
Диски не бесконечные, но такая интенсивность записи не постоянна, а только когда надо. Обрабатывать это наименьшая из проблем. 200 узловой, 1600+ядерный кластер обрабатывает этот поток данных в реалтайме (даже с учетом, что среднее время обработки 30-60+ секунд/блок). А писать это на один диск не столько проблематично сколько невозможно. Даже на локально подключенный.

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

Почему я спросил про опыт использования Hadoop HDFS и GlusterFS, по тому, что эти два решения планируют внедрять на кластер и по возможности хотелось бы собственные задачи решать уже имеющимися средствами, а не разрабатывать еще одно специализированное решение.
 
Сверху