Uso de Azure Storage con clústeres de Azure HDInsightUse Azure storage with Azure HDInsight clusters

Puede almacenar datos en Azure Storage, Azure Data Lake Storage Gen 1o Azure Data Lake Storage Gen 2.You can store data in Azure Storage, Azure Data Lake Storage Gen 1, or Azure Data Lake Storage Gen 2. O puede usar una combinación de estas opciones.Or a combination of these options. Estas opciones de almacenamiento permiten eliminar de forma segura clústeres de HDInsight que se usan para el cálculo sin perder datos del usuario.These storage options enable you to safely delete HDInsight clusters that are used for computation without losing user data.

Apache Hadoop admite una noción del sistema de archivos predeterminado.Apache Hadoop supports a notion of the default file system. El sistema de archivos predeterminado implica una autoridad y un esquema predeterminados.The default file system implies a default scheme and authority. También se puede usar para resolver rutas de acceso relativas.It can also be used to resolve relative paths. Durante el proceso de creación del clúster de HDInsight, puede especificar un contenedor de blobs en Azure Storage como el sistema de archivos predeterminado.During the HDInsight cluster creation process, you can specify a blob container in Azure Storage as the default file system. Además, con HDInsight 3.6, puede seleccionar o bien Azure Storage, o Azure Data Lake Storage Gen 1 o Azure Data Lake Storage Gen 2 como el sistema de archivos predeterminado, con algunas excepciones.Or with HDInsight 3.6, you can select either Azure Storage or Azure Data Lake Storage Gen 1/ Azure Data Lake Storage Gen 2 as the default files system with a few exceptions. Para más información sobre la compatibilidad con el uso de Data Lake Store Gen 1 como almacenamiento predeterminado y como almacenamiento vinculado, consulte Disponibilidades de los clústeres de HDInsight.For the supportability of using Data Lake Storage Gen 1 as both the default and linked storage, see Availability for HDInsight cluster.

En este artículo, aprenderá cómo funciona Azure Storage con clústeres de HDInsight.In this article, you learn how Azure Storage works with HDInsight clusters. Para más información sobre cómo funciona Data Lake Storage Gen 1 con clústeres de HDInsight, consulte Use Azure Data Lake Store with Azure HDInsight clusters (Uso de Azure Data Lake Store con clústeres de Azure HDInsight).To learn how Data Lake Storage Gen 1 works with HDInsight clusters, see Use Azure Data Lake Storage with Azure HDInsight clusters. Consulte Creación de clústeres de Apache Hadoop en HDInsight para obtener información sobre la creación de un clúster de HDInsight.For more information about creating an HDInsight cluster, see Create Apache Hadoop clusters in HDInsight.

Importante

El tipo de cuenta de almacenamiento BlobStorage solo puede usarse como almacenamiento secundario para los clústeres de HDInsight.Storage account kind BlobStorage can only be used as secondary storage for HDInsight clusters.

Tipo de cuenta de almacenamientoStorage account kind Servicios admitidosSupported services Niveles de rendimiento admitidosSupported performance tiers Sin niveles de rendimiento admitidosNot supported performance tiers Niveles de acceso admitidosSupported access tiers
StorageV2 (uso general v2)StorageV2 (general-purpose v2) BlobBlob EstándarStandard PremiumPremium Frecuente, esporádico, archivo*Hot, Cool, Archive*
Storage (uso general v1)Storage (general-purpose v1) BlobBlob EstándarStandard PremiumPremium N/DN/A
BlobStorageBlobStorage BlobBlob EstándarStandard PremiumPremium Frecuente, esporádico, archivo*Hot, Cool, Archive*

No se recomienda usar el contenedor de blobs predeterminado para almacenar datos empresariales.We don't recommend that you use the default blob container for storing business data. Conviene eliminar el contenedor de blobs predeterminado después de cada uso para reducir los costos de almacenamiento.Deleting the default blob container after each use to reduce storage cost is a good practice. El contenedor predeterminado contiene los registros del sistema y de la aplicación.The default container contains application and system logs. Asegúrese de recuperar los registros antes de eliminar el contenedor.Make sure to retrieve the logs before deleting the container.

No se permite compartir un contenedor de blobs como el sistema de archivos predeterminado entre varios clústeres.Sharing one blob container as the default file system for multiple clusters isn't supported.

Nota

El nivel de acceso de archivo es un nivel sin conexión que tiene una latencia de recuperación de varias horas y no se recomienda para su uso con HDInsight.The Archive access tier is an offline tier that has a several hour retrieval latency and isn't recommended for use with HDInsight. Para más información, consulte Nivel de acceso de archivo.For more information, see Archive access tier.

Acceso a los archivos desde dentro del clústerAccess files from within cluster

Existen varias maneras de acceder a los archivos de Data Lake Storage desde un clúster de HDInsight.There are several ways you can access the files in Data Lake Storage from an HDInsight cluster. El esquema URI proporciona acceso sin cifrar (con el prefijo wasb: ) y acceso cifrado con TLS (con wasbs).The URI scheme provides unencrypted access (with the wasb: prefix) and TLS encrypted access (with wasbs). Se recomienda usar wasbs siempre que sea posible, incluso cuando se acceda a datos que se encuentren en la misma región de Azure.We recommend using wasbs wherever possible, even when accessing data that lives inside the same region in Azure.

  • Con el nombre completo.Using the fully qualified name. Con este enfoque, proporciona la ruta de acceso completa al archivo al que quiere acceder.With this approach, you provide the full path to the file that you want to access.

    wasb://<containername>@<accountname>.blob.core.windows.net/<file.path>/
    wasbs://<containername>@<accountname>.blob.core.windows.net/<file.path>/
    
  • Con el formato abreviado de la ruta de acceso.Using the shortened path format. Con este enfoque, reemplazará la ruta de acceso a la raíz del clúster por:With this approach, you replace the path up to the cluster root with:

    wasb:///<file.path>/
    wasbs:///<file.path>/
    
  • Con la ruta de acceso relativa.Using the relative path. Con este enfoque, solo proporciona la ruta de acceso relativa al archivo al que quiere acceder.With this approach, you only provide the relative path to the file that you want to access.

    /<file.path>/
    

Ejemplos de acceso a datosData access examples

Los ejemplos se basan en una conexión SSH al nodo principal del clúster.Examples are based on an ssh connection to the head node of the cluster. En los ejemplos se usan los tres esquemas de URI.The examples use all three URI schemes. Reemplace CONTAINERNAME y STORAGEACCOUNT por los valores pertinentes.Replace CONTAINERNAME and STORAGEACCOUNT with the relevant values

Algunos comandos hdfsA few hdfs commands

  1. Crear un archivo en el almacenamiento local.Create a file on local storage.

    touch testFile.txt
    
  2. Crear directorios en el almacenamiento de clúster.Create directories on cluster storage.

    hdfs dfs -mkdir wasbs://CONTAINERNAME@STORAGEACCOUNT.blob.core.windows.net/sampledata1/
    hdfs dfs -mkdir wasbs:///sampledata2/
    hdfs dfs -mkdir /sampledata3/
    
  3. Copia de datos del almacenamiento local al almacenamiento de clúster.Copy data from local storage to cluster storage.

    hdfs dfs -copyFromLocal testFile.txt  wasbs://CONTAINERNAME@STORAGEACCOUNT.blob.core.windows.net/sampledata1/
    hdfs dfs -copyFromLocal testFile.txt  wasbs:///sampledata2/
    hdfs dfs -copyFromLocal testFile.txt  /sampledata3/
    
  4. Enumerar el contenido del directorio en el almacenamiento de clúster.List directory contents on cluster storage.

    hdfs dfs -ls wasbs://CONTAINERNAME@STORAGEACCOUNT.blob.core.windows.net/sampledata1/
    hdfs dfs -ls wasbs:///sampledata2/
    hdfs dfs -ls /sampledata3/
    

Nota

Al trabajar con blobs fuera de HDInsight, la mayoría de las utilidades no reconocen el formato WASB y en su lugar, espera un formato básico de ruta de acceso, como example/jars/hadoop-mapreduce-examples.jar.When working with blobs outside of HDInsight, most utilities do not recognize the WASB format and instead expect a basic path format, such as example/jars/hadoop-mapreduce-examples.jar.

Creación de una tabla de HiveCreating a Hive table

Con fines de ilustración, se muestran tres ubicaciones de archivos.Three file locations are shown for illustrative purposes. En la ejecución real, use solo una de las entradas LOCATION.For actual execution, use only one of the LOCATION entries.

DROP TABLE myTable;
CREATE EXTERNAL TABLE myTable (
    t1 string,
    t2 string,
    t3 string,
    t4 string,
    t5 string,
    t6 string,
    t7 string)
ROW FORMAT DELIMITED FIELDS TERMINATED BY ' '
STORED AS TEXTFILE
LOCATION 'wasbs://CONTAINERNAME@STORAGEACCOUNT.blob.core.windows.net/example/data/';
LOCATION 'wasbs:///example/data/';
LOCATION '/example/data/';

Acceso a los archivos desde fuera del clústerAccess files from outside cluster

Microsoft proporciona las siguientes herramientas para trabajar con Azure Storage:Microsoft provides the following tools to work with Azure Storage:

HerramientaTool LinuxLinux OS XOS X WindowsWindows
Azure PortalAzure portal
CLI de AzureAzure CLI
Azure PowerShellAzure PowerShell
AzCopyAzCopy

Identificación de la ruta de acceso de almacenamiento de AmbariIdentify storage path from Ambari

  • Para identificar la ruta de acceso completa al almacén predeterminado configurado, vaya a:To identify the complete path to the configured default store, navigate to:

    HDFS > Configs y escriba fs.defaultFS en el cuadro de entrada de filtro.HDFS > Configs and enter fs.defaultFS in the filter input box.

  • Para comprobar si el almacén wasb está configurado como el almacenamiento secundario, vaya a:To check if wasb store is configured as secondary storage, navigate to:

    HDFS > Configs y escriba blob.core.windows.net en el cuadro de entrada de filtro.HDFS > Configs and enter blob.core.windows.net in the filter input box.

Para obtener la ruta de acceso mediante la API REST de Ambari, consulte Obtención del almacenamiento predeterminado.To obtain the path using Ambari REST API, see Get the default storage.

Contenedores de blobsBlob containers

Para usar blobs, en primer lugar debe crear una cuenta de Azure Storage.To use blobs, you first create an Azure Storage account. Como parte de este paso, especifique una región de Azure donde se crea la cuenta de almacenamiento.As part of this step, you specify an Azure region where the storage account is created. El clúster y la cuenta de almacenamiento deben ubicarse en la misma región.The cluster and the storage account must be hosted in the same region. La base de datos de SQL Server de la metastore de Hive y la base de datos de SQL Server de la metastore de Apache Oozie tienen que encontrarse en la misma región.The Hive metastore SQL Server database and Apache Oozie metastore SQL Server database must be located in the same region.

Cualquiera que sea su ubicación, todos los blobs que cree pertenecerán a un contenedor de su cuenta de Azure Storage.Wherever it lives, each blob you create belongs to a container in your Azure Storage account. Este contenedor puede ser un blob existente que se creó fuera de HDInsight.This container may be an existing blob created outside of HDInsight. O puede tratarse de un contenedor que se cree para un clúster de HDInsight.Or it may be a container that is created for an HDInsight cluster.

El contenedor de blobs predeterminado almacena información específica del clúster, como registros y el historial de trabajos.The default Blob container stores cluster-specific information such as job history and logs. No comparta un contenedor de blobs predeterminado con varios clústeres de HDInsight.Don't share a default Blob container with multiple HDInsight clusters. Esta acción podría dañar el historial de trabajos.This action might corrupt job history. Se recomienda usar un contenedor diferente para cada clúster.It's recommended to use a different container for each cluster. Coloque los datos compartidos en una cuenta de almacenamiento vinculada especificada para todos los clústeres apropiados, en lugar de en la cuenta de almacenamiento predeterminada.Put shared data on a linked storage account specified for all relevant clusters rather than the default storage account. Para más información acerca de cómo configurar cuentas de almacenamiento vinculadas, consulte el artículo de Creación de clústeres de HDInsight.For more information on configuring linked storage accounts, see Create HDInsight clusters. Sin embargo, puede volver a usar un contenedor de almacenamiento predeterminado después de que se haya eliminado el clúster de HDInsight original.However you can reuse a default storage container after the original HDInsight cluster has been deleted. En el caso de los clústeres de HBase, para conservar el esquema y los datos de tabla de HBase se puede crear un nuevo clúster de HBase mediante el contenedor de blobs predeterminado que usaba un clúster de HBase eliminadoFor HBase clusters, you can actually keep the HBase table schema and data by creating a new HBase cluster using the default blob container that is used by a deleted HBase cluster

Nota

La característica que requiere una transferencia segura aplica todas las solicitudes a su cuenta mediante una conexión segura.The feature that requires secure transfer enforces all requests to your account through a secure connection. Esta característica solo es compatible con la versión de clúster de HDInsight 3.6 o posterior.Only HDInsight cluster version 3.6 or newer supports this feature. Para más información, consulte Creación de un clúster de Apache Hadoop con cuentas de almacenamiento de transferencia segura en Azure HDInsight.For more information, see Create Apache Hadoop cluster with secure transfer storage accounts in Azure HDInsight.

Uso de cuentas de almacenamiento adicionalesUse additional storage accounts

Al crear un clúster de HDInsight, se especifica la cuenta de Azure Storage a la que quiere asociarlo.While creating an HDInsight cluster, you specify the Azure Storage account you want to associate with it. Además, puede agregar cuentas de almacenamiento adicionales desde la misma suscripción de Azure o desde otras diferentes durante el proceso de creación.Also, you can add additional storage accounts from the same Azure subscription or different Azure subscriptions during the creation process. O una vez creado un clúster.Or after a cluster has been created. Para obtener instrucciones sobre cómo agregar más cuentas de almacenamiento, consulte Creación de clústeres de HDInsight.For instructions about adding additional storage accounts, see Create HDInsight clusters.

Advertencia

No se admite el uso de una cuenta de almacenamiento adicional en una ubicación diferente a la del clúster de HDInsight.Using an additional storage account in a different location than the HDInsight cluster is not supported.

Pasos siguientesNext steps

En este artículo, aprendió a usar Azure Storage compatible con HDFS con HDInsight.In this article, you learned how to use HDFS-compatible Azure storage with HDInsight. Este almacenamiento le permite crear soluciones de adquisición de datos de archivado adaptables y a largo plazo, y usar HDInsight para desbloquear la información que hay dentro de los datos estructurados y no estructurados que están almacenados.This storage allows you to build adaptable, long-term, archiving data acquisition solutions and use HDInsight to unlock the information inside the stored structured and unstructured data.

Para más información, consulte:For more information, see: