Creación de un clúster de HDInsight con Azure Data Lake Storage Gen1 mediante las plantillas de Azure Resource Manager

Aprenda a usar Azure PowerShell para configurar un clúster de HDInsight con Azure Data Lake Storage Gen1, como almacenamiento adicional.

Para los tipos de clúster compatibles, Data Lake Storage Gen1 se puede usar como un almacenamiento predeterminado o como una cuenta de almacenamiento adicional. Cuando se usa Data Lake Storage Gen1 como almacenamiento adicional, la cuenta de almacenamiento predeterminada para los clústeres seguirá siendo Azure Blob Storage (WASB) y los archivos relacionados con clústeres (como registros, etc.) seguirán escribiéndose en el almacenamiento predeterminado, mientras que los datos que quiere procesar pueden almacenarse en una cuenta de Data Lake Storage Gen1. Utilizar Data Lake Storage Gen1 como una cuenta de almacenamiento adicional no afecta al rendimiento ni a la capacidad de lectura y escritura en el almacenamiento del clúster.

Uso de Data Lake Storage Gen1 para el almacenamiento de clústeres de HDInsight

Estas son algunos puntos importantes que se deben tener en cuenta al usar HDInsight con Data Lake Storage Gen1:

  • Opción para crear clústeres de HDInsight con acceso a Data Lake Storage Gen1 como almacenamiento predeterminado está disponible para la versión 3.5 y 3.6 de HDInsight.

  • La opción para crear clústeres de HDInsight con acceso a Data Lake Storage Gen1 como almacenamiento está disponible para las versiones 3.2, 3.4, 3.5 y 3.6 de HDInsight.

En este artículo, aprovisionamos un clúster de Hadoop con Data Lake Storage Gen1 como almacenamiento adicional. Para instrucciones sobre cómo crear un clúster de Hadoop con Data Lake Storage Gen1 como almacenamiento predeterminado, consulte Creación de un clúster de HDInsight con Data Lake Storage Gen1 mediante Azure Portal.

Requisitos previos

Nota:

Se recomienda usar el módulo Azure Az de PowerShell para interactuar con Azure. Consulte Instalación de Azure PowerShell para empezar. Para más información sobre cómo migrar al módulo Az de PowerShell, consulte Migración de Azure PowerShell de AzureRM a Az.

Antes de empezar este tutorial, debe contar con lo siguiente:

  • Una suscripción de Azure. Consulte Obtención de una versión de evaluación gratuita.

  • Azure PowerShell 1.0 o versiones posteriores. Consulte Instalación y configuración de Azure PowerShell.

  • Microsoft Entra entidad de servicio. Los pasos de este tutorial proporcionan instrucciones sobre cómo crear una entidad de servicio en Microsoft Entra ID. Sin embargo, debe ser un administrador de Microsoft Entra para poder crear una entidad de servicio. Si es administrador de Microsoft Entra, puede omitir este requisito previo y continuar con el tutorial.

    Si no es administrador de Microsoft Entra, no podrá realizar los pasos necesarios para crear una entidad de servicio. En tal caso, el administrador de Microsoft Entra debe crear primero una entidad de servicio para poder crear un clúster de HDInsight con Data Lake Storage Gen1. Además, la entidad de servicio debe crearse con un certificado, tal y como se describe en Creación de una entidad de servicio.

Creación de un clúster de HDInsight con Data Lake Storage Gen1 mediante el Portal de Azure

Las plantillas de Resource Manager y los requisitos previos para usarla están disponibles en GitHub: Deploy a HDInsight Linux cluster with new Data Lake Store (Implementación de un clúster Linux de HDInsight con la nueva versión de Data Lake Storage Gen1). Siga las instrucciones de este vínculo para crear un clúster de HDInsight con Data Lake Storage Gen1 como almacenamiento adicional.

Estas instrucciones requieren el uso de PowerShell. Antes de comenzar con las instrucciones, asegúrese de iniciar sesión en su cuenta de Azure. En el escritorio, abra una nueva ventana de Azure PowerShell y escriba los siguientes fragmentos. Cuando se le solicite iniciar sesión, asegúrese de iniciarla como uno de los administradores o propietarios de la suscripción:

# Log in to your Azure account
Connect-AzAccount

# List all the subscriptions associated to your account
Get-AzSubscription

# Select a subscription
Set-AzContext -SubscriptionId <subscription ID>

La plantilla implementa estos tipos de recursos:

Carga de datos de ejemplo en Data Lake Storage Gen1

La plantilla de Resource Manager crea una cuenta de almacenamiento con Data Lake Storage Gen1 y la asocia con el clúster de HDInsight. Ahora, debe cargar algunos datos de ejemplo en Data Lake Storage Gen1. Necesitará estos datos más adelante en el tutorial para ejecutar trabajos desde un clúster de HDInsight que acceda a los datos de la cuenta de almacenamiento con Data Lake Storage Gen1. Para ver las instrucciones sobre cómo cargar datos, consulte el artículo sobre la carga de archivos en Data Lake Storage Gen1. Si busca datos de ejemplo para cargar, puede obtener la carpeta Ambulance Data en el repositorio Git de Azure Data Lake.

Establecimiento de listas ACL pertinentes en los datos de ejemplo

Para asegurarse de que los datos de ejemplo que se cargan son accesibles desde el clúster de HDInsight, debe asegurarse de que la aplicación de Microsoft Entra que se usa para establecer la identidad entre el clúster de HDInsight y Data Lake Storage Gen1 tenga acceso al archivo o carpeta a la que está intentando acceder. Para ello, siga estos pasos.

  1. Busque el nombre de la aplicación Microsoft Entra asociada al clúster de HDInsight y a la cuenta de almacenamiento con Data Lake Storage Gen1. Una manera de buscar el nombre es abrir la hoja del clúster de HDInsight que creó con la plantilla de Resource Manager, hacer clic en la pestaña Clúster Microsoft Entra identidad y buscar el valor de Nombre para mostrar de la entidad de servicio.
  2. Ahora, proporcione acceso a esta aplicación Microsoft Entra en el archivo o carpeta a la que desea acceder desde el clúster de HDInsight. Para establecer las listas ACL adecuadas en el archivo o carpeta de Data Lake Storage Gen1, consulte el artículo sobre cómo proteger los datos de Data Lake Storage Gen1.

Ejecución de trabajos de prueba en el clúster de HDInsight para usar Data Lake Storage Gen1

Después de configurar un clúster de HDInsight, puede ejecutar trabajos de prueba en el clúster para probar que el clúster de HDInsight pueda acceder a Data Lake Storage Gen1. Para hacerlo, ejecutaremos un trabajo de Hive de ejemplo que crea una tabla con los datos de ejemplo que cargó antes en la cuenta de almacenamiento con Data Lake Storage Gen1.

En esta sección, se explica cómo usar SSH en el clúster de Linux en HDInsight y ejecutar la consulta de Hive de ejemplo. Si está utilizando un cliente Windows, se recomienda utilizar PuTTY, que puede descargarse desde https://www.chiark.greenend.org.uk/~sgtatham/putty/download.html.

Para obtener más información sobre el uso de PuTTY, consulte Utilización de SSH con Hadoop en HDInsight basado en Linux desde Linux, Unix u OS X (versión preliminar).

  1. Una vez conectado, inicie la CLI de Hive con el siguiente comando:

    hive
    
  2. Mediante la CLI, especifique las siguientes instrucciones para crear una tabla nueva denominada vehicles con los datos de ejemplo de Data Lake Storage Gen1:

    DROP TABLE vehicles;
    CREATE EXTERNAL TABLE vehicles (str string) LOCATION 'adl://<mydatalakestoragegen1>.azuredatalakestore.net:443/';
    SELECT * FROM vehicles LIMIT 10;
    

    Debería ver un resultado similar al siguiente:

    1,1,2014-09-14 00:00:03,46.81006,-92.08174,51,S,1
    1,2,2014-09-14 00:00:06,46.81006,-92.08174,13,NE,1
    1,3,2014-09-14 00:00:09,46.81006,-92.08174,48,NE,1
    1,4,2014-09-14 00:00:12,46.81006,-92.08174,30,W,1
    1,5,2014-09-14 00:00:15,46.81006,-92.08174,47,S,1
    1,6,2014-09-14 00:00:18,46.81006,-92.08174,9,S,1
    1,7,2014-09-14 00:00:21,46.81006,-92.08174,53,N,1
    1,8,2014-09-14 00:00:24,46.81006,-92.08174,63,SW,1
    1,9,2014-09-14 00:00:27,46.81006,-92.08174,4,NE,1
    1,10,2014-09-14 00:00:30,46.81006,-92.08174,31,N,1
    

Acceso a Data Lake Storage Gen1 mediante comandos de HDFS

Una vez que configure el clúster de HDInsight para que use Data Lake Storage Gen1, puede usar los comandos de shell de HDFS para acceder al almacén.

En esta sección, se explica cómo usar SSH en un clúster de Linux en HDInsight y ejecutar los comandos de HDFS. Si está utilizando un cliente Windows, se recomienda utilizar PuTTY, que puede descargarse desde https://www.chiark.greenend.org.uk/~sgtatham/putty/download.html.

Para obtener más información sobre el uso de PuTTY, consulte Utilización de SSH con Hadoop en HDInsight basado en Linux desde Linux, Unix u OS X (versión preliminar).

Una vez conectado, use el siguiente comando del sistema de archivos HDFS para enumerar los archivos de la cuenta de almacenamiento con Data Lake Storage Gen1.

hdfs dfs -ls adl://<storage account with Data Lake Storage Gen1 name>.azuredatalakestore.net:443/

Se debería incluir el archivo que cargó antes en Data Lake Storage Gen1.

15/09/17 21:41:15 INFO web.CaboWebHdfsFileSystem: Replacing original urlConnectionFactory with org.apache.hadoop.hdfs.web.URLConnectionFactory@21a728d6
Found 1 items
-rwxrwxrwx   0 NotSupportYet NotSupportYet     671388 2015-09-16 22:16 adl://mydatalakestoragegen1.azuredatalakestore.net:443/mynewfolder

También puede usar el comando hdfs dfs -put para cargar algunos archivos en Data Lake Storage Gen1 y después usar hdfs dfs -ls para comprobar si los archivos se cargaron correctamente.

Pasos siguientes