Файловая система и Hadoop: Опыт Twitter (Часть 2)

https://blog.twitter.com/2015/hadoop-filesystem-at-twitter
  • Перевод
Наш основной принцип работы заключается в том, что IaaS должен быть простым и понятным даже для тех, кто не сталкивался с ИТ-сферой. Поэтому мы проводим постоянную оптимизацию всех систем и рассказываем о том, что нам удалось сделать, в нашем блоге на Хабре.

Пара примеров:


Сегодня мы решили продолжить краткий разбор заметки команды инженеров Twitter о создании файловой системы для работы с кластерами Hadoop.


/ фото Mercado Viagens / CC

Дополнительная тематическая разработка инженеров Twitter — проект Nfly. Его задача в том, чтобы обеспечить создание единой ссылки пути ViewFs для множества кластеров.

По своей сути — это что-то вроде создания виртуальной файловой системы, которая будет однообразной и упростит работу с разными ЦОД. Помимо единого логического пути здесь возможно получить ситуацию, когда сервис сможет производить чтение данных из кластера /DC2/C, когда /DC1/C будет недоступен.

Инженеры используют ChRootedFileSystem. Этот подход позволяет заменить корневую часть пути и использовать путь вида hdfs://dc1-A-user/user/lohit, что позволяет работать с несколькими файловыми системами, расположенными в разных ЦОД.

Теперь в ссылка будет представлять ряд файловых систем, которые будут вызываться синхронно с помощью «обертки» в ChRootedFileSystem. Здесь и задействован Nfly, который задает один логический путь для ряда физических.

В данном случае Nfly создает временные файлы, которые в последствии снабжаются штампом mtime, а вся транзакция проверяется на наличие ошибок. По временному штампу возможно производить сортировку. Подобный подход использует дополнительные вычислительные ресурсы, но прощает работу с системой, которая на данном этапе все выглядит весьма затруднительной — необходимо разбираться с настройками ViewFs и использовать Nfly.

С точки зрения работы с данными инженеры получают более гибкие инструменты, которые действительно делают процессы более понятными. Например, для получения кластера Х для определенного пользователя во всех ЦОД требуется указать лишь -Dfs.nfly.mount=Х.

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

P.S. Немного о работе нашего провайдера виртуальной инфраструктуры:

1cloud.ru

186,34

IaaS, VPS, VDS, Частное и публичное облако, SSL

Поделиться публикацией
Комментарии 0

Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

Самое читаемое