Pull to refresh
0
1cloud.ru
IaaS, VPS, VDS, Частное и публичное облако, SSL

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

Reading time 2 min
Views 12K
Наш основной принцип работы заключается в том, что IaaS должен быть простым и понятным даже для тех, кто не сталкивался с ИТ-сферой. Поэтому мы проводим постоянную оптимизацию всех систем и рассказываем о том, что нам удалось сделать, в нашем блоге на Хабре.

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


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


/ фото Mercado Viagens / CC

Автор рассказывает о работе с ViewFs, client-side файловой системой Hadoop — кластерами, которые использует Twitter. Задача этой системы — формирование единого пространства имен, охватывающего все дата-центры и кластеры. Настройку ViewFs осложняет невероятный масштаб объемов данных (больше 300 петабайт), с которыми работает сервис. В этой ситуации компания приняла решение о разработке своей версии файловой системы TwitterViewFs.

Для работы с подобным гигантом используется федерализация многочисленных пространств имен. Данный подход позволяет происходить масштабирование, но сделать это не так просто. Все осложняется тем, что у каждого члена namespace'а федерации есть свой собственный URI. В итоге под одним логическим URI есть таблица монтирования ViewFs.

Для работы с этой конструкцией используется «обертка» Hadoop, которая позволяет обращаться к подходящей версии на основе маппинга из конфигурационной директории. Предыдущие решение Twitter заключалось в использованииредиректов на нужные Namenode. Такой подход был недостаточен для всех необходимых сценариев использования системы в рабочем состоянии. Поэтому сейчас все кластерные конфигурации «сливают» на стороне клиента.

В случае с Twitter необходимо работать с полноразмерными URI, которые включают в себя существенную часть авторизационной информации. Данное решение позволяет избавиться от огромного количества разных URI.

Инженеры сервиса решили сделать универсальную систему и смонтировать условный путь /path/file в кластере C1 в дата-центре DC1 в каждый кластер в качестве /DC1/C1/path/file. Это позволяет не указывать полный URI.

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

Когда пространство имен TwitterViewFs определено, требуется запустить разрешение URI служб имен HA. Для этого необходимо объединить конфигурацию HDFS-клиента из всех файлов hdfs-site.xml в соответствующих директориях. Таким образом, все кластеры будут достижимы через принятый путь /DC/C/path вне зависимости от принадлежности к определенному кластеру Hadoop.

Для локальной файловой системой и HDFS достаточно запомнить простые и привычные команды. Например, добавление ссылок ViewFs в конфигурацию TwitterViewFs:

/local/user/->file:/home/
/local/tmp->file:/${hadoop.tmp.dir}


Копирование файла из кластера в локальную директорию:

hadoop fs -cp /user/laurent/debug.log /local/user/laurent/

P.S. Файловая система и Hadoop: Опыт Twitter (Часть 2).
Tags:
Hubs:
+11
Comments 6
Comments Comments 6

Articles

Information

Website
1cloud.ru
Registered
Founded
Employees
31–50 employees
Location
Россия