Рекомендации и шаблоны миграции для 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 1-го поколения теперь прекращена. Ознакомьтесь с объявлением о выходе на пенсию здесь. Data Lake Storage 1-го поколения ресурсы больше не доступны. Если вам нужна специальная помощь, обратитесь к нам.

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. Прямая миграция с 1-го поколения на 2-е

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

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

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

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

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

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

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

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

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

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

  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) 2-го поколения новой учетной записи хранения. Например: универсальный код ресурса (URI) 1-го поколения adl://mydatalakestore.azuredatalakestore.net/mydirectory/myfile может превратиться в abfss://myfilesystem@mydatalakestore.dfs.core.windows.net/mydirectory/myfile.

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

Шаг 4. Прямая миграция с 1-го поколения на 2-е

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

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

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

Площадь Поколение 1 Поколение 2
Упорядочение данных Иерархическое пространство имен хранилища Azure Data Lake Storage Gen2 (предварительная версия)
Поддержка файлов и папок
Иерархическое пространство имен хранилища Azure Data Lake Storage Gen2 (предварительная версия)
Поддержка контейнеров, файлов и папок
Геоизбыточность LRS LRS, ZRS, GRS, RA-GRS
Проверка подлинности Управляемое удостоверение Microsoft Entra
Субъекты-службы
Управляемое удостоверение Microsoft Entra
Субъекты-службы
Ключ общего доступа
Авторизация Управление — Azure RBAC
Данные — списки управления доступом
Управление — 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 Простейший шаблон. Идеально подходит в том случае, если конвейеры данных допускают простой.
Добавочное копирование Аналогично методике Luft-and-Shift, но с меньшим временем простоя. Идеально подходит для больших объемов данных, копирование которых требует больше времени.
Двойной конвейер Идеально подходит для конвейеров, которые не допускают простой.
Двунаправленная синхронизация Аналогична двойному конвейеру, только с более поэтапным подходом, который пригоден для более сложных конвейеров.

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

Шаблон Lift-and-Shift

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

  1. Остановите все операции записи в 1-е поколение.

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

  3. Операции приема и рабочие нагрузки направьте во 2-е поколение.

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

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

Diagram of the lift and shift pattern.

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

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

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

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

Совет

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

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

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

  2. Выполните добавочное копирование новых данных из 1-го поколения.

  3. После того как все данные будут скопированы, отключите все операции записи в 1-е поколение и направьте рабочие нагрузки во 2-е поколение.

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

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

Diagram of the incremental copy pattern.

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

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

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

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

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

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

  2. Примите новые данные как в 1-е, так и во 2-е поколение.

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

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

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

Diagram of the dual pipeline pattern.

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

  • Конвейеры 1-го поколения и 2-го поколения выполняются параллельно.

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

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

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

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

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

  3. Выведите из эксплуатации 1-го поколения.

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

Diagram of the bidirectional pattern.

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

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

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

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

См. также