Поделиться через


Рекомендации и шаблоны миграции для Azure Data Lake Storage

Вы можете перенести данные, рабочие нагрузки и приложения из Azure Data Lake Storage 1-го поколения в Azure Data Lake Storage 2-го поколения. В этой статье описывается рекомендуемый подход к миграции, рассматриваются разные шаблоны миграции и логика их использования. Для простоты в этой статье термином 1-е поколение заменяется Azure Data Lake Storage 1-го поколения, а термином 2-е поколение — Azure Data Lake Storage 2-го поколения.

Примечание.

Azure Data Lake Storage Gen1 теперь выведен из эксплуатации. Ознакомьтесь с объявлением о прекращении поддержки здесь.Ресурсы Data Lake Storage Gen1 больше не доступны.

Azure Data Lake Storage 2-го поколения — это набор возможностей аналитики больших данных, созданных на основе хранилища BLOB-объектов Azure. Data Lake Storage 2-го поколения сочетает в себе функции Azure Data Lake Storage 1-го поколения, например семантику файловой системы, каталог, защиту на уровне файлов и масштабирование, с экономичностью, многоуровневостью, возможностями высокой доступности и аварийного восстановления хранилища BLOB-объектов Azure.

Примечание.

1-е и 2-е поколение — это разные службы, и возможность обновления "на месте" отсутствует. Чтобы упростить миграцию на 2-е поколение с помощью портала Azure, воспользуйтесь статьей Миграция с Azure Data Lake Storage 1-го поколения на Azure Data Lake Storage 2-го поколения с помощью портала Azure (предварительная версия).

Для перехода с 1-го на 2-е поколение рекомендуется использовать следующий подход.

Шаг 1. Оценка готовности

Шаг 2. Подготовка к миграции

Шаг 3. Перенос данных и рабочих нагрузок приложений

Шаг 4: Переключение с Gen1 на Gen2

Шаг 1. Оценка готовности

  1. Изучите предложение Data Lake Storage 2-го поколения: его преимущества, затраты и общую архитектуру.

  2. Сравните возможности 1-го поколения с возможностями 2-го поколения.

  3. Ознакомьтесь со списком известных проблем, чтобы оценить недостающие функциональные возможности.

  4. 2-е поколение поддерживает такие функции хранилища BLOB-объектов, как журнал ведения диагностики, уровни доступа и политики управления жизненным циклом хранилища BLOB-объектов. Если вы заинтересованы в использовании каких-либо из этих функций, ознакомьтесь с текущим уровнем поддержки.

  5. Проверьте текущее состояние поддержки экосистемы Azure и убедитесь в том, что 2-е поколение поддерживает все службы, от которых зависят ваши решения.

Шаг 2. Подготовка к миграции

  1. Определите наборы данных, которые предстоит перенести.

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

    Выполните анализ устаревания (или аналогичный) в вашей учетной записи Gen1, чтобы определить, какие файлы или папки находятся в системе длительное время или, возможно, становятся устаревшими.

  2. Определите влияние миграции на ваш бизнес.

    Например, подумайте, сможете ли вы позволить себе простой во время миграции. Это поможет определить подходящий шаблон миграции и выбрать наиболее подходящие средства.

  3. Создайте план миграции.

    Мы рекомендуем использовать эти шаблоны миграции. Можно выбрать один из этих шаблонов, объединить их вместе или разработать собственный шаблон.

Шаг 3. Перенос данных, рабочих нагрузок и приложений

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

  1. Создайте учетную запись хранения и включите функцию иерархического пространства имен.

  2. Перенесите данные.

  3. Настройте службы в рабочих нагрузках так, чтобы они указывали на конечную точку 2-го поколения.

    Для кластеров HDInsight можно добавить параметры конфигурации учетной записи хранения в файл %HADOOP_HOME%/conf/core-site.xml. Если вы планируете перенести внешние таблицы Hive из 1-го во 2-е поколение, также добавьте параметры учетной записи хранения в файл %HIVE_CONF_DIR%/hive-site.xml.

    Настройки для каждого файла можно изменить с помощью Apache Ambari. Параметры учетной записи хранения см. в документации, посвященной Службе поддержки Azure для Hadoop (ABFS — Azure Data Lake Storage 2-го поколения). В этом примере используется параметр fs.azure.account.key, позволяющий включить авторизацию с общим ключом:

    <property>
      <name>fs.azure.account.key.abfswales1.dfs.core.windows.net</name>
      <value>your-key-goes-here</value>
    </property>
    

    Ссылки на статьи, которые помогут вам настроить HDInsight, Azure Databricks и другие службы Azure для использования 2-го поколения, см. в статье Службы Azure, поддерживающие Azure Data Lake Storage 2-го поколения.

  4. Обновите приложения для использования API 2-го поколения. См. следующие руководства:

Окружающая среда Статья
Обозреватель службы хранилища Azure Использование Обозревателя службы хранилища Azure для управления каталогами и файлами в Azure Data Lake Storage 2-го поколения
.NET Управление каталогами и файлами в Azure Data Lake Storage 2-го поколения с помощью .NET
Java Управление каталогами и файлами в Azure Data Lake Storage 2-го поколения с помощью Java
Python Управление каталогами и файлами в Azure Data Lake Storage 2-го поколения с помощью Python
JavaScript (Node.js) Управление каталогами и файлами в Azure Data Lake Storage 2-го поколения с помощью пакета SDK для JavaScript в Node.js
REST API REST API для Azure Data Lake Store
  1. Обновите скрипты для использования командлетов PowerShell Data Lake Storage 2-го поколения и команд Azure CLI.

  2. Выполните поиск ссылок на унифицированный указатель ресурса (URI), которые содержат строку adl://, в файлах исходного кода, записных книжках Databricks, файлах HQL Apache Hive или любом другом файле, используемом в составе вашей рабочей нагрузки. Замените эти ссылки на URI в формате Gen2 вашей новой учетной записи хранения. Например: универсальный код ресурса (URI) 1-го поколения adl://mydatalakestore.azuredatalakestore.net/mydirectory/myfile может превратиться в abfss://myfilesystem@mydatalakestore.dfs.core.windows.net/mydirectory/myfile.

  3. Настройте систему безопасности учетной записи так, чтобы включить роли Azure, обеспечение безопасности на уровне файлов и папок, а также брандмауэры и виртуальные сети службы хранилища Azure.

Шаг 4: Переключение с 1-го поколения на 2-е поколение

Когда вы будете уверены, что ваши приложения и рабочие нагрузки стабильно работают в Gen2, вы можете начать использовать Gen2 для удовлетворения бизнес-требований. Отключите все оставшиеся конвейеры, работающие на 1-м поколении, и выведите из эксплуатации учетную запись 1-го поколения.

Сравнение возможностей 1-го и 2-го поколения

В этой таблице сравниваются возможности 1-го и 2-го поколения.

Площадь Поколение 1 Поколение 2
Упорядочение данных Иерархическое пространство имен
Поддержка файлов и папок
Иерархическое пространство имен
Поддержка контейнеров, файлов и папок
Геоизбыточность LRS LRS, ZRS, GRS, RA-GRS
Проверка подлинности Управляемое удостоверение Microsoft Entra
Субъекты-службы
Управляемое удостоверение Microsoft Entra
Субъекты-службы
Ключ общего доступа
Авторизация Управление — Azure RBAC
Данные — ACL
Управление — Azure RBAC
Данные — списки управления доступом, Azure RBAC
Шифрование — неактивные данные На стороне сервера — ключи, управляемые корпорацией Майкрософт или клиентом На стороне сервера — ключи, управляемые корпорацией Майкрософт или клиентом
Поддержка виртуальной сети Интеграция с виртуальной сетью Конечные точки службы, частные конечные точки
Опыт разработчика REST, .NET, Java, Python, PowerShell, Azure CLI Общедоступная версия — REST, .NET, Java, Python
Общедоступная предварительная версия — JavaScript, PowerShell, Azure CLI
Журналы ресурсов Классические логи
Интегрированный Azure Monitor
Классические журналы — общедоступная версия
Интеграция с Azure Monitor — предварительная версия
Экосистема HDInsight (3.6), Azure Databricks (3.1 и выше), Azure Synapse Analytics, ADF HDInsight (3.6, 4.0), Azure Databricks (5.1 и выше), Azure Synapse Analytics, ADF

Шаблоны миграции с 1-го поколения на 2-е

Выберите шаблон миграции, а затем измените его по необходимости.

Порядок миграции Сведения
Перенос и перемещение Простейший шаблон. Идеально подходит в том случае, если конвейеры данных допускают простой.
Добавочное копирование Аналогично lift-and-shift, но с меньшим временем простоя. Идеально подходит для больших объемов данных, копирование которых требует больше времени.
Двойной конвейер Идеально подходит для конвейеров, которые не допускают простой.
Двунаправленная синхронизация Аналогична двойному конвейеру, только с более поэтапным подходом, который пригоден для более сложных конвейеров.

Давайте подробнее рассмотрим каждый шаблон.

Шаблон Lift-and-Shift

Это простейший шаблон.

  1. Остановите все операции записи в Gen1.

  2. Переместите данные из 1-го поколения во 2-е. Рекомендуем использовать Фабрику данных Azure или портал Azure. Списки ACL копируются вместе с данными.

  3. Направьте операции приема и рабочие нагрузки на платформу Azure Data Lake Storage Gen2.

  4. Удалите из эксплуатации Generation 1.

Ознакомьтесь с примером кода для способа Lift and Shift в примере миграции способом Lift and Shift.

Шаблон Lift-and-Shift

Рекомендации по использованию шаблона Lift-and-Shift

  • Переход от 1-го до 2-го поколения для всех рабочих нагрузок одновременно.

  • Ожидается простой во время миграции и периода переключения.

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

Совет

Рекомендуем использовать портал Azure, чтобы сократить время простоя и количество шагов, необходимых для миграции.

Шаблон пошагового копирования

  1. Начните перемещать данные из 1-го поколения во 2-е. Мы рекомендуем использовать Фабрику данных Azure. Списки контроля доступа (ACL) копируются вместе с данными.

  2. Инкрементно копируйте новые данные из Gen1.

  3. После копирования всех данных прекратите все записи в Gen1 и перенаправьте рабочие нагрузки на Gen2.

  4. Выведите из эксплуатации Ген1.

Ознакомьтесь с примером кода для шаблона добавочного копирования в примере миграции с помощью добавочного копирования.

Паттерн инкрементного копирования

Рекомендации по использованию шаблона добавочного копирования.

  • Переключение с Gen1 на Gen2 для всех рабочих нагрузок одновременно.

  • Ожидайте простоя только в период переключения.

  • Идеально подходит для конвейеров, где все приложения обновляются одновременно, но для копирования данных требуется больше времени.

Шаблон двойного конвейера

  1. Переместите данные из 1-го поколения во 2-е. Мы рекомендуем использовать Фабрику данных Azure. ACL копируются вместе с данными.

  2. Загрузите новые данные в обе версии: Версия 1 и Версия 2.

  3. Направьте рабочие нагрузки на Gen2.

  4. Остановите все операции записи в 1-е поколение, а затем выведите его из эксплуатации.

Ознакомьтесь с примером кода для шаблона двойного конвейера в примере миграции с помощью двойного конвейера.

Шаблон двойного конвейера

Рекомендации по использованию шаблона двойного конвейера.

  • Конвейеры поколения 1 и поколения 2 функционируют параллельно.

  • Поддерживает нулевое время простоя.

  • Идеально подходит для ситуаций, в которых ваши рабочие нагрузки и приложения не могут позволить себе простой, и вы можете загружать данные в обе учетные записи хранения.

Шаблон двунаправленной синхронизации

  1. Настройте двунаправленную репликацию между 1-м и 2-м поколениями. Мы рекомендуем WanDisco. Эта платформа предлагает функцию исправления для существующих данных.

  2. После завершения всех перемещений остановите все операции записи в 1-е поколение и отключите двунаправленную репликацию.

  3. Выведите из эксплуатации Gen1.

Ознакомьтесь с примером кода для шаблона двунаправленной синхронизации в примере миграции с помощью двунаправленной синхронизации.

Двунаправленный шаблон

Рекомендации по использованию шаблона двунаправленной синхронизации.

  • Идеально подходит для сложных сценариев, которые включают большое количество конвейеров и зависимостей, где поэтапный подход может иметь больше смысла.

  • Усилия по миграции высоки, но она обеспечивает параллельную поддержку для 1-го поколения и 2-го поколения.

Следующие шаги

См. также