Создание кластеров HDInsight, использующих Azure Data Lake Storage 1-го поколения, с помощью портала Azure
Узнайте, как создать кластер HDInsight с Azure Data Lake Storage 1-го поколения в качестве хранилища по умолчанию или дополнительного хранилища на портале Azure. Создавать дополнительное хранилище для кластера HDInsight необязательно, однако бизнес-данные рекомендуется хранить в дополнительных учетных записях хранения.
Предпосылки
Прежде чем приступить к изучению этого руководства, убедитесь, что выполнены следующие требования.
- подписка Azure. Перейдите к получению бесплатной пробной версии Azure.
- Учетная запись Azure Data Lake Storage 1-го поколения. Следуйте инструкциям в статье Начало работы с Azure Data Lake Storage 1-го поколения с помощью портала Azure. В учетной записи также необходимо создать корневую папку. В этой статье используется корневая папка /clusters.
- субъект-служба Microsoft Entra. В этом руководстве содержатся инструкции по созданию учетной записи службы в Microsoft Entra ID. Однако для создания учетной записи службы необходимо быть администратором Microsoft Entra. Если вы являетесь администратором, вы можете пропустить этот предварительный этап и перейти к следующим.
Примечание.
Вы можете создать сервисный принципал только в том случае, если вы являетесь администратором Microsoft Entra. Администратор Microsoft Entra должен создать учетную запись службы перед созданием кластера HDInsight с использованием хранилища данных Data Lake Storage Gen1. При создании субъекта-службы также необходимо использовать сертификат, как описано в разделе Создание субъекта-службы с использованием сертификата.
Создание кластера HDInsight
В этом разделе описывается, как создать кластер HDInsight с Data Lake Storage 1-го поколения в качестве хранилища по умолчанию или дополнительного хранилища. В этой статье описывается только часть процесса настройки Data Lake Storage 1-го поколения. Общие сведения о создании кластеров и соответствующие процедуры см. в статье Создание кластеров Hadoop в HDInsight.
Создайте кластер с Data Lake Storage Gen1 в качестве хранилища по умолчанию
Создание кластера HDInsight с Data Lake Storage 1-го поколения в качестве учетной записи хранения по умолчанию
Войдите на портал Azure.
Общие сведения о создании кластеров HDInsight см. в разделе Создание кластеров.
В колонке Хранилище в разделе Тип первичного хранилища выберите Data Lake Storage 1-го поколения, а затем введите указанные ниже сведения.
- Выбрать учетную запись Data Lake Store: выберите существующую учетную запись Data Lake Storage 1-го поколения. Требуется существующая учетная запись Data Lake Storage 1-го поколения. См. раздел Предварительные требования.
- Корневой путь: введите путь к каталогу, в котором будут храниться файлы, связанные с кластером. На снимке экрана это путь /clusters/myhdiadlcluster/, в котором должна существовать папка /clusters и в котором портал создает папку myhdicluster. myhdicluster — это имя кластера.
- Доступ к Data Lake Store: настройте доступ между учетной записью Data Lake Storage 1-го поколения и кластером HDInsight. Инструкции см. в разделе Настройка доступа к Data Lake Storage 1-го поколения.
- Дополнительные учетные записи хранения: добавьте учетные записи хранения Azure в качестве дополнительных учетных записей хранения для кластера. Добавление дополнительных хранилищ Data Lake Storage 1-го поколения осуществляется путем предоставления разрешений на доступ к данным в кластере дополнительным учетным записям Data Lake Storage 1-го поколения. При этом учетная запись Data Lake Storage 1-го поколения настраивается в качестве основного типа хранилища. Инструкции см. в разделе Настройка доступа к Data Lake Storage 1-го поколения.
На доступе к Data Lake Store нажмите Выбрать и продолжайте создание кластера, как описано в разделе Создание кластеров Hadoop в HDInsight.
Создайте кластер с использованием хранилища Data Lake Storage первого поколения в качестве дополнительного хранилища.
Ниже приведены инструкции по созданию кластера HDInsight, где учетная запись хранения BLOB-объектов Azure используется в качестве хранилища по умолчанию, а учетная запись Data Lake Storage 1-го поколения — в качестве дополнительного хранилища.
Чтобы создать кластер HDInsight с Data Lake Storage Gen1 в качестве дополнительного хранилища
Войдите на портал Azure.
Общие сведения о создании кластеров HDInsight см. в разделе Создание кластеров.
В колонке Хранилище в разделе Тип первичного хранилища выберите Хранилище Azure, а затем введите указанные ниже сведения.
Метод выбора. Чтобы указать учетную запись хранения, которая входит в подписку Azure, выберите Мои подписки, а затем выберите учетную запись хранения. Чтобы указать учетную запись хранения, не входящую в вашу подписку Azure, выберите Ключ доступа, а затем введите данные внешней учетной записи хранения.
Контейнер по умолчанию. Используйте значение по умолчанию или укажите собственное имя.
Дополнительные учетные записи хранения. Добавьте другие учетные записи хранения Azure в качестве дополнительного хранилища.
Доступ к Data Lake Store. Настройте доступ между учетной записью Data Lake Storage 1-го поколения и кластером HDInsight. Инструкции см. в разделе Настройка доступа к Data Lake Storage 1-го поколения.
Настройка доступа к Data Lake Storage 1-го поколения
В этом разделе настраивается доступ к хранилищу данных Data Lake Storage Gen1 из кластеров HDInsight с помощью учетной записи службы Microsoft Entra.
Указать служебный принципал
На портале Azure можно использовать существующую учетную запись службы или создать новую.
Создание субъекта-службы на портале Azure
- См. Создание представителя службы и сертификатов с использованием идентификатора Microsoft Entra.
Чтобы использовать существующую учетную запись службы на портале Azure
Служебный принципал должен иметь разрешения владельца учетной записи хранилища. См. Настройка разрешений для главного объекта службы как владельца учетной записи хранения.
Выберите Доступ к Data Lake Store.
На панели Доступ к Data Lake Storage (Gen1) выберите Использовать существующий.
Выберите Субъект-служба, затем выберите субъект-службу.
Загрузите сертификат (PFX-файл), связанный с выбранным служебным принципалом, и введите пароль от этого сертификата.
Выберите Доступ, чтобы настроить доступ к папке. См. раздел Настройка разрешений для файлов.
Настройка разрешений владельца учетной записи хранения для субъекта-службы
- На вкладке "Управление доступом (IAM)" учетной записи хранения нажмите "Добавить назначение роли".
- В панели "Добавление назначения роли" выберите роль "Владелец", затем выберите SPN и нажмите "Сохранить".
Настройка разрешений для файлов
Настройки зависят от того, используется ли учетная запись для хранилища по умолчанию или для дополнительного хранилища.
В качестве хранилища по умолчанию:
- разрешение на корневом уровне учетной записи Data Lake Storage 1-го поколения;
- разрешение на корневом уровне хранилища кластера HDInsight. Например, папка /clusters, использованная ранее в этом учебнике.
В качестве дополнительного хранилища:
- разрешение на доступ к папкам, в которых находятся требуемые файлы.
Назначение разрешения в учетной записи хранения с Data Lake Storage 1-го поколения на корневом уровне
На панели Доступ к Data Lake Storage Gen1 выберите Доступ. Откроется панель Выбор разрешений для файла. В ней отображаются все учетные записи хранения, включенные в подписку.
Наведите указатель мыши (но не нажимайте) на имя учетной записи Data Lake Storage 1-го поколения, чтобы отобразился флажок, а затем установите этот флажок.
По умолчанию выбраны разрешения Чтение, Запись и Выполнение.
В нижней части страницы щелкните Выбрать.
Чтобы назначить разрешение, нажмите Выполнить.
Нажмите кнопку Готово.
Назначение разрешения на корневом уровне кластера HDInsight
- В колонке Доступ к Data Lake Storage 1-го поколения выберите Доступ. Откроется раздел Выбор разрешений для файла. В ней перечислены все учетные записи хранения Data Lake Storage 1-го поколения, включенные в подписку.
- На вкладке Выбор разрешений для файла выберите учетную запись хранения с именем Data Lake Storage Gen1, чтобы отобразить ее содержимое.
- Выберите корень хранилища кластера HDInsight, установив флажок слева от папки. В соответствии с предыдущим снимком экрана корнем хранилища кластера является папка /clusters, указанная при выборе Data Lake Storage 1-го поколения в качестве хранилища по умолчанию.
- Задайте разрешения для папки. По умолчанию выбрано чтение, запись и выполнение.
- В нижней части страницы щелкните Выбрать.
- Выберите Выполнить.
- Нажмите кнопку Готово.
При использовании Data Lake Storage 1-го поколения в качестве дополнительного хранилища необходимо назначить разрешение только для папок, к которым нужен доступ из кластера HDInsight. Например, на снимке экрана ниже предоставляется доступ только к папке mynewfolder в учетной записи хранения Data Lake Storage 1-го поколения.
Проверка настроек кластера
После завершения настройки кластера проверьте результат на панели кластера, выполнив одно или оба из следующих действий.
Чтобы проверить, является ли указанная вами учетная запись Data Lake Storage 1-го поколения связанным хранилищем для кластера, выберите Учетные записи хранения в левой области.
Чтобы проверить, правильно ли учетная запись службы связана с кластером HDInsight, выберите Data Lake Storage Gen1 access на левой панели.
Примеры
Настроив Data Lake Storage 1-го поколения в качестве хранилища для кластера, можно изучить следующие примеры использования кластера HDInsight для анализа данных, хранящихся в Data Lake Storage 1-го поколения.
Отправка запроса Hive к данным, хранящимся в Data Lake Storage 1-го поколения (основное хранилище)
Чтобы выполнить запрос Hive, используйте интерфейс представлений Hive, доступный на портале Ambari. Инструкции по использованию представлений Ambari Hive см. в статье Использование представления Hive с Hadoop в HDInsight.
При работе с данными в Data Lake Storage 1-го поколения изменить можно лишь несколько строк.
Например, если вы используете кластер, созданный с Data Lake Storage 1-го поколения в качестве основного хранилища, путь к данным — adl://< data_lake_storage_gen1_account_name>/azuredatalakestore.net/path/to/file. Запрос Hive для создания таблицы на основе демонстрационных данных, хранящихся в хранилище данных Data Lake Storage Gen1, выглядит следующим образом:
CREATE EXTERNAL TABLE websitelog (str string) LOCATION 'adl://hdiadlsg1storage.azuredatalakestore.net/clusters/myhdiadlcluster/HdiSamples/HdiSamples/WebsiteLogSampleData/SampleLog/'
Описание
-
adl://hdiadlsg1storage.azuredatalakestore.net/
— корневой элемент учетной записи Data Lake Storage 1-го поколения; -
/clusters/myhdiadlcluster
— корень данных кластера, указанный при создании кластера; -
/HdiSamples/HdiSamples/WebsiteLogSampleData/SampleLog/
— расположение примера файла, который используется в запросе.
Отправка запроса Hive к данным, хранящимся в Data Lake Storage 1-го поколения (дополнительное хранилище)
Если в созданном кластере в качестве хранилища по умолчанию используется Blob-хранилище, то примерные данные не содержатся в учетной записи с Data Lake Storage Gen1, используемой в качестве дополнительного хранилища. В этом случае сначала перенесите данные из хранилища Blob в учетную запись хранения с Data Lake Storage 1-го поколения, а затем выполните запросы, как это показано в предыдущем примере.
Сведения о том, как скопировать данные из Blob Storage в учетную запись хранилища с Data Lake Storage 1-го поколения, см. следующие статьи:
- Использование Distcp для копирования данных между Azure Blob Storage и Data Lake Storage Gen1
- Используйте AdlCopy для копирования данных из Azure Blob Storage в Data Lake Storage Gen1
Использование Data Lake Storage 1-го поколения с кластером Spark
Кластер Spark можно использовать для выполнения заданий Spark с данными, хранящимися в Data Lake Storage 1-го поколения. Дополнительные сведения см. в статье Использование кластера HDInsight Spark для анализа данных в Data Lake Storage 1-го поколения.