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

Автор оригинала: Gera Shegalov
  • Перевод
Наш основной принцип работы заключается в том, что 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).
  • +11
  • 11,4k
  • 6
1cloud.ru
321,52
IaaS, VPS, VDS, Частное и публичное облако, SSL
Поделиться публикацией

Комментарии 6

    0
    интересно
      +5
      я ничего не понял, но фразы
      >больше 300 петабайт данных
      >на десятках тысяч серверов
      заставили очень удивиться
        –1
        Это гуглоперевод? Что за «мощный пример этой схемы» и т.д — чуть мозг не взорвал, пытаясь понять.
        А где ссылка на оригинальную статью?
          0
          Вы бы чем обзываться гуглопереводчиком попробовали бы задать вопросы в личку (или предложили свое решение по улучшению перевода этого сложного текста, если хорошо знаете английский).

          Ссылка есть в самом конце — рядом с подписью автора поста есть кликабельное имя автора изначального текста (раньше на Хабре оно как-то более явственно выделялось, это да). Добавили еще ссылку на оригинальный материал в первый абзац.
            0
            Да, сорри, исходный текст тоже весьма мутный
          –1
          Чего только люди не делают ради того, чтобы не писать свое решение без этих адских коствлей

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

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