Поделиться гостями:У Вэйвэй Цзиндун Инженер-архитектор
Под редакцией: Чэнь Фэйцзюнь Шэньчжэньский университет
Создано сообществом: DataFun.
Введение:С учетом потребностей корректировки бизнеса и интеграции ресурсов кластера,,большие кластер Миграция в системах обработки данных данные сложные и запутанные. Эта статья будет опубликована в «Цзиндунбольшие». Платформа данных является примером, представившим в прошлом году распределение данных Цзиндунхранилище и Многоуровневое. Исследование и практика на хранилище.
Сегодняшнее введение начнем со следующих трех пунктов:
--
Общая архитектура платформы данных Цзиндун в основном состоит из шести частей.,Среди них хранилище данных является базовым компонентом уровня вычислительной хранилища и поддерживает планирование восходящего вычислительного механизма.,и уровень инструмента более высокого уровня, уровень обслуживания и уровень приложения. Во всей архитектуре платформы данных,Базовые данные играют роль инфраструктуры.,это весьбольшие Основа платформы данных.
Объем этой системы данных составляет несколько ЭБ (1ЭБ=1024ПБ).,Имеются десятки тысяч узлов,Три места и несколько центров,Ежедневная пропускная способность составляет сотни петабайт. Столкнувшись с таким большим объемом данных,Цзиндунбольшие Платформа данных использует визуальное управление. Проблемы кластера можно быстро и легко обнаружить с помощью системы мониторинга, обеспечивая стабильность кластера и обслуживания. доступность。
--
В Междоменном хранилище До применения архитектуры,Синхронизация данных между компьютерными залами в основном реализуется бизнес-стороной, выполняющей Distcp между разными компьютерными залами.,Таким образом, будет некотороескрытые опасности:
На основании вышеизложенного,Платформа данных Цзиндунбольшие разработала функцию междоменной синхронизации данных в базовом модуле хранилища для решения проблем, вызванных синхронизацией хранилища исторических данных. Выбор решения этой проблемы на нижнем уровне позволяет не только контролировать согласованность междоменных данных.,Он также обеспечивает независимые от бизнеса функции междоменной синхронизации и обмена данными.,Чтобы уменьшить дублирование работы со стороны бизнеса,Обеспечьте в системе хранилища возможности междоменного миграции и междоменного аварийного восстановления.
Цзиньдун Междоменное Основная идея архитектуры хранилища состоит в том, чтобы обеспечить домены сбоя между машинными помещениями за счет «полная топология хранилища + полная сеть» и в конечном итоге добиться больших Аварийное восстановление данных за пределами площадки и возможности хранения ключевых данных в нескольких машинных залах.
этого проектаОсновные проблемыиметь:
программыОсновные преимуществаиметь:
В реализации Междоменного процесс восстановления,УсыновленныйДва метода потока данных:
Данные сначала записываются в локальный компьютерный зал, а затем автоматически выполняется междоменная синхронизация через namenode (NN). Производительность записи этого метода передачи данных соответствует существующему немеждоменному сценарию, а задержка синхронизации лучше, чем у решения distcp.
Создайте конвейер данных, соедините все узлы данных (DN) в компьютерном зале последовательно и синхронизируйте данные одновременно. Этот метод передачи ориентирован на предприятия с высокими требованиями к согласованности и надежности данных.
Топология и Восприятие компьютерного зала — решение проблемы «узлового позиционирования» Междоменное хранилищеосновнойвопросключевые модули。На основе этого модуля можно контролировать распределение блоков данных и клиентский трафик.。Этот модуль в основномРешите проблему с двух сторон:
Путем преобразования топологии узла к управлению топологией добавляется измерение компьютерного зала. В то же время логика выбора блоков должна быть адаптирована на основе всего модуля топологии сети, чтобы быть совместимой с несколькими компьютерными залами.
Для междоменных версий клиентов,Информация о компьютерном зале может передаваться в заголовке RPC.,для идентификации и поиска для клиентов, которые не поддерживают междоменные версии;,Услуга сопоставления IP-адресов компьютерного зала, предоставляемая командой сетевого обслуживания Цзиндун., Реализуйте поиск и запрос соответствующего компьютерного зала на стороне клиента.
Модуль междоменной идентификации является ключевым решением для решения проблемы «хранения данных в компьютерных залах». Мы используем тег атрибута, который поддерживает копии и EC для описания междоменных атрибутов данных. Например, A:3,B:2,C:2,A,status,[период],[начало,конец] означает, что в компьютерном зале A имеется 3 копии; компьютерный зал C. ; Компьютерный зал A — компьютерный зал для междоменной передачи; [статус] указывает на состояние внутреннего потока существующих данных, включая «i». «nit, обработка, выполнено, недействительно» — четыре состояния; [период] — это временная метка, используемая для междоменной конфигурации компьютерного зала, описывающая стратегию жизненного цикла междоменных данных [начало, конец] — еще одна конфигурация жизненного цикла совместного использования данных; Метод Время начала и окончания обмена данными может быть указано в виде абсолютного времени.
EC содержит два типа блоков данных и блоков проверки. По сравнению с режимом копирования, его поддержка междоменной синхронизации является более сложной. Он должен поддерживать реконструкцию данных в одном и том же компьютерном зале и междоменное копирование данных, когда условия реконструкции отсутствуют. соблюдаются для сокращения трафика междоменной синхронизации данных EC в междоменных сценариях.
Для ускорения общей междоменной обработки данных используются три метода:
Для междоменного исправления и управления потоком используются три метода для обеспечения производительности.:
Логика междоменного исправления показана на рисунке справа. Для дополнительных данных они разделены на два модуля. Дополнительные данные в одном и том же блоке компьютерного зала исправляются через исходные междоменные блоки RedundancyMonitor. Модуль CrossRegionRedundancyMonitor выполняет исправление блоков. Новое средство обновления в основном обрабатывает сценарии междоменного изменения меток, такие как междоменная конфигурация и изменения каталога. После оценки междоменных требований оно добавляется в модуль CrossRegionRedundancyMonitor для обработки исправлений.
Управление междоменным потоком разделено на четыре части.:
--
Многоуровневое хранилище данных призвано решить проблемы, существующие в исходной структуре.:
В ответ на вышеуказанные проблемы,Нам необходимо выполнить следующие функциональные требования к Многоуровневому хранилищу: реализовать автоматическую сортировку данных.,Горячие и холодные данные классифицируются и обрабатываются путем маркировки – делятся на горячие, теплые и холодные. Различные модели оборудования также классифицируются по категориям — на SSD, HDD и хранилища высокой плотности. Сопоставление тепловых данных в реальном времени с более эффективной DN,хранилище на оборудовании SSD,Холодные данные хранятся на оборудовании высокой плотности.,Достичь разумного распределения ресурсов.
Для реализации вышеперечисленных данных Многоуровневое хранилище существует в основном три сценария применения:
Обеспечьте средства ускорения для «горячих» и основных данных, разделения времени и многоуровневого хранения. Например, в основной период времени ночью он делится на три периода времени, и горячие данные этого периода перемещаются на высокопроизводительное устройство хранения в течение соответствующего периода. Этот метод обработки может расширить возможности бизнес-данных в течение соответствующего периода. основной период.
Холодные данные Zombie хранятся на устройствах хранения высокой плотности, что позволяет оптимизировать затраты на хранение единицы продукции. Бизнес-сторона выполняет автоматическое распределение «горячих» и «холодных» данных путем настройки динамических правил в измерении кластера и сохраняет «холодные» данные в данных высокой плотности. Чрезмерно «холодные» данные будут напрямую преобразованы в EC (Erasure Coding), что еще больше снижает затраты на хранение.
Поддерживает разделение логических подкластеров по измерениям бизнеса/каталога для достижения изоляции данных. Для недавно выпущенных моделей эту логику можно использовать для изучения их производительности; при расширении сервера к новым серверам можно добавлять веса записи для увеличения объема хранилища. В случае возникновения чрезвычайных ситуаций неисправные машины можно быстро изолировать, не влияя на общую надежность имеющихся данных.
Многоуровневое представлено выше Логика и сценарии применения хранилища будут представлены ниже. В архитектуре хранилища весь фреймворк в основном реализован внутри NN:
Базовый проект Многоуровневого хранилища,Можно разделить на два модуля,Один из них — управление тегами на основе деревьев каталогов в метаданных.,Выделите горячие и холодные данные для данных. Другая часть — это дерево топологии узла;,Используйте виртуальные мультитопологические деревья, чтобы логически различать узлы с разными метками.,Различные типы тегов будут иметь свои собственные независимые деревья топологии.,Достигните более эффективной производительности выбора узла. Существует два способа обновления дерева виртуальной топологии.,Это асинхронные обновления, основанные на весах узлов, и синхронные обновления онлайн- и офлайн-данных.
дополнительные данныеи Данные о запасахв потоке обработкииметьнижеразница:
--
A1: Мы реализуем миграцию данных на основе многоуровневых функций. Общая логика обработки основана на настройке динамических правил, которые делят данные на три типа: холодные, теплые и горячие. Для «теплых» данных мы используем реализацию, подобную Balancer, для перемещения данных в хранилище с высокой плотностью; для «холодных» данных мы реализуем простую систему планирования внутри HDFS для отправки «холодных» данных, обнаруженных при сканировании, в DN, а DN реализует миграцию данных. . и передача на месте в ЕС.
О2: Функция выставления счетов — это также то направление, на котором мы сосредоточимся на следующем этапе. Общая идея состоит в том, чтобы использовать функцию выставления счетов, чтобы помочь бизнес-сторонам использовать кластеры хранения более разумно и эффективно. В настоящее время мы классифицируем операции записи и операции чтения. Поскольку операции записи оказывают большее давление на NN, биллинговый вес операций записи будет превышать биллинговый вес операций чтения, и это соотношение составляет примерно 10 раз. На стороне NN информация о выставлении счетов будет суммироваться на маршрутизаторе HDFS для создания единой сводной статистики выставления счетов на уровне кластера. Маршрутизатор HDFS будет регулярно отправлять статистическую информацию в NN. NN будет классифицировать доступ пользователей на основе статистической информации. Доступ бизнес-сторон, превышающий заданную квоту, будет понижен.
A3: Когда внутри NameNode добавляется новый модуль, время, в течение которого каждый модуль занимает внутреннюю блокировку ядра NameNode, будет подсчитываться в режиме реального времени. Когда время занятия блокировки вновь добавленного модуля превышает установленный порог, программа динамически уменьшит. время занятости блокировки модуля, чтобы гарантировать отсутствие влияния на внешнюю пропускную способность NameNode.
На этом на сегодня все, спасибо всем.