Azure-opslag gebruiken met Azure HDInsight-clustersUse Azure storage with Azure HDInsight clusters

Voor het analyseren van gegevens in HDInsight-cluster, kunt u ofwel de gegevens opslaan in Azure Storage, Azure Data Lake Storage Gen 1/Azure Data Lake Storage Gen 2, of een combinatie.To analyze data in HDInsight cluster, you can store the data either in Azure Storage, Azure Data Lake Storage Gen 1/Azure Data Lake Storage Gen 2, or a combination. Deze opslagopties kunnen u HDInsight-clusters die worden gebruikt voor berekeningen zonder verlies van gebruikersgegevens veilig verwijderen.These storage options enable you to safely delete HDInsight clusters that are used for computation without losing user data.

Apache Hadoop ondersteunt een notatie van het standaardbestandssysteem.Apache Hadoop supports a notion of the default file system. Het standaardbestandssysteem impliceert een standaardschema en instantie.The default file system implies a default scheme and authority. De toepassing kan ook worden gebruikt om relatieve paden om te zetten.It can also be used to resolve relative paths. Tijdens het HDInsight-cluster maken, geeft u een blob-container in Azure Storage als het standaardbestandssysteem of met HDInsight 3.6, kunt u ook Azure Storage of Azure Data Lake Storage Gen 1 / Azure Data Lake Storage Gen 2 als de standaard-bestanden systeem met een paar uitzonderingen.During the HDInsight cluster creation process, you can specify a blob container in Azure Storage as the default file system, 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. Zie voor de ondersteuning van het gebruik van Data Lake Storage Gen 1 als de standaard- en de gekoppelde opslag beschikbaarheid voor HDInsight-cluster.For the supportability of using Data Lake Storage Gen 1 as both the default and linked storage, see Availability for HDInsight cluster.

In dit artikel wordt uitgelegd hoe Azure Storage werkt met HDInsight-clusters.In this article, you learn how Azure Storage works with HDInsight clusters. Zie voor meer informatie hoe Data Lake Storage Gen 1 werkt met HDInsight-clusters, Azure Data Lake Storage gebruiken met Azure HDInsight-clusters.To learn how Data Lake Storage Gen 1 works with HDInsight clusters, see Use Azure Data Lake Storage with Azure HDInsight clusters. Zie voor meer informatie over het maken van een HDInsight-cluster Apache Hadoop-clusters maken in HDInsight.For more information about creating an HDInsight cluster, see Create Apache Hadoop clusters in HDInsight.

Azure Storage is een robuuste, algemene opslagoplossing die naadloos kan worden geïntegreerd met HDInsight.Azure storage is a robust, general-purpose storage solution that integrates seamlessly with HDInsight. HDInsight kan een blobcontainer in Azure Storage gebruiken als het standaardbestandssysteem voor het cluster.HDInsight can use a blob container in Azure Storage as the default file system for the cluster. Via een HDFS-interface (Hadoop Distributed File System) kan de volledige set onderdelen in HDInsight rechtstreeks als blobs op gestructureerde of ongestructureerde gegevens worden uitgevoerd.Through a Hadoop distributed file system (HDFS) interface, the full set of components in HDInsight can operate directly on structured or unstructured data stored as blobs.

Waarschuwing

Type opslagaccount het BlobStorage kan alleen worden gebruikt als secundaire opslag voor HDInsight-clusters.Storage account kind BlobStorage can only be used as secondary storage for HDInsight clusters.

Type opslagaccountStorage account kind Ondersteunde servicesSupported services Ondersteunde prestatielagenSupported performance tiers Ondersteunde toegangslagenSupported access tiers
StorageV2 (general-purpose v2)StorageV2 (general-purpose v2) BlobBlob StandardStandard Hot, Cool en Archive*Hot, Cool, Archive*
Storage (algemeen gebruik v1)Storage (general-purpose v1) BlobBlob StandardStandard N/AN/A
BlobStorageBlobStorage BlobBlob StandardStandard Hot, Cool en Archive*Hot, Cool, Archive*

Het wordt afgeraden om de standaard- blobcontainer te gebruiken voor het opslaan van bedrijfsgegevens.We do not recommend that you use the default blob container for storing business data. Het is een goede gewoonte om de standaard-blobcontainer na ieder gebruik te verwijderen om de opslagkosten te verlagen.Deleting the default blob container after each use to reduce storage cost is a good practice. De standaardcontainer bevat toepassings- en Logboeken.The default container contains application and system logs. Breng de logboeken over naar een andere locatie voordat u de container verwijdert.Make sure to retrieve the logs before deleting the container.

Het delen van een blobcontainer als het standaardbestandssysteem voor meerdere clusters wordt niet ondersteund.Sharing one blob container as the default file system for multiple clusters is not supported.

Notitie

De Archive Storage-toegangslaag is een offline-laag die een enkele uren latentie bij het ophalen en wordt niet aanbevolen voor gebruik met HDInsight.The Archive access tier is an offline tier that has a several hour retrieval latency and is not recommended for use with HDInsight. Zie voor meer informatie, Archive Storage-toegangslaag.For more information, see Archive access tier.

Als u ervoor kiest voor het beveiligen van uw opslagaccount met de Firewalls en virtuele netwerken beperkingen met betrekking tot geselecteerde netwerken, zorg ervoor dat u het inschakelen van de uitzondering vertrouwde Microsoft toestaan Services... zodat HDInsight toegang krijgen uw storage-account tot kan.If you choose to secure your storage account with the Firewalls and virtual networks restrictions on Selected networks, be sure to enable the exception Allow trusted Microsoft services... so that HDInsight can access your storage account.

HDInsight-opslagarchitectuurHDInsight storage architecture

Het volgende diagram biedt een abstracte weergave van de HDInsight-opslagarchitectuur bij gebruik van Azure Storage:The following diagram provides an abstract view of the HDInsight storage architecture of using Azure Storage:

Hadoop-clusters gebruiken de HDFS-API voor toegang tot en opslag van gestructureerde en ongestructureerde gegevens in Blob Storage.Hadoop clusters use the HDFS API to access and store structured and unstructured data in Blob storage.

HDInsight biedt toegang tot het Distributed File System dat lokaal wordt gekoppeld aan de rekenknooppunten.HDInsight provides access to the distributed file system that is locally attached to the compute nodes. Dit bestandssysteem is toegankelijk via de volledig gekwalificeerde URI, bijvoorbeeld:This file system can be accessed by using the fully qualified URI, for example:

hdfs://<namenodehost>/<path>

Daarnaast biedt HDInsight toegang tot gegevens die zijn opgeslagen in Azure Storage.In addition, HDInsight allows you to access data that is stored in Azure Storage. De syntaxis is:The syntax is:

wasb://<containername>@<accountname>.blob.core.windows.net/<path>

Hier volgen enkele overwegingen bij het gebruik van een Azure Storage-account met HDInsight-clusters.Here are some considerations when using Azure Storage account with HDInsight clusters.

  • Containers in de storage-accounts die zijn verbonden met een cluster: Omdat de accountnaam en de sleutel gekoppeld aan het cluster tijdens het maken zijn, hebt u volledige toegang tot de blobs in deze containers.Containers in the storage accounts that are connected to a cluster: Because the account name and key are associated with the cluster during creation, you have full access to the blobs in those containers.

  • Openbare containers of openbare blobs in opslagaccounts die niet zijn verbonden met een cluster: U hebt alleen-lezen toegang tot de blobs in de containers.Public containers or public blobs in storage accounts that are NOT connected to a cluster: You have read-only permission to the blobs in the containers.

Notitie

Met openbare containers kunt u een lijst met alle beschikbare blobs in de desbetreffende container en containermetagegevens ophalen.Public containers allow you to get a list of all blobs that are available in that container and get container metadata. Openbare blobs zijn alleen toegankelijk als u de exacte URL weet.Public blobs allow you to access the blobs only if you know the exact URL. Zie voor meer informatie, toegang tot containers en blobs beheren.For more information, see Manage access to containers and blobs.

  • Persoonlijke containers in opslagaccounts die niet zijn verbonden met een cluster: U kunt de blobs in de containers geen toegang tot, tenzij u het opslagaccount definieert wanneer u de WebHCat-taken verzendt.Private containers in storage accounts that are NOT connected to a cluster: You can't access the blobs in the containers unless you define the storage account when you submit WebHCat jobs. Dit wordt verderop in dit artikel uitgelegd.This is explained later in this article.

De storage-accounts die zijn gedefinieerd in het proces voor het maken en de sleutels worden opgeslagen in %HADOOP_HOME%/conf/core-site.xml op de clusterknooppunten.The storage accounts that are defined in the creation process and their keys are stored in %HADOOP_HOME%/conf/core-site.xml on the cluster nodes. HDInsight gebruikt standaard de opslagaccounts die zijn gedefinieerd in het bestand core-site.xml.The default behavior of HDInsight is to use the storage accounts defined in the core-site.xml file. U kunt deze instelling wijzigen met behulp van Apache Ambari.You can modify this setting using Apache Ambari.

Meerdere WebHCat-taken, waaronder Apache Hive, MapReduce, Apache Hadoop-streaming en Apache Pig, kunnen een beschrijving van opslagaccounts en metagegevens mee uitvoeren.Multiple WebHCat jobs, including Apache Hive, MapReduce, Apache Hadoop streaming, and Apache Pig, can carry a description of storage accounts and metadata with them. (Dit werkt momenteel voor Pig met opslagaccounts, maar niet voor metagegevens.) Zie Using an HDInsight Cluster with Alternate Storage Accounts and Metastores (Een HDInsight-cluster gebruiken met alternatieve opslagaccounts en metastores) voor meer informatie.(This currently works for Pig with storage accounts, but not for metadata.) For more information, see Using an HDInsight Cluster with Alternate Storage Accounts and Metastores.

Blobs kunnen worden gebruikt voor gestructureerde en ongestructureerde gegevens.Blobs can be used for structured and unstructured data. De gegevens in blobcontainers worden opgeslagen als sleutel-waardeparen en er is geen maphiërarchie.Blob containers store data as key/value pairs, and there is no directory hierarchy. Maar het slash-teken (/) kan echter worden gebruikt binnen de sleutelnaam deze weergegeven, zodat het lijkt alsof een bestand is opgeslagen in een mapstructuur.However the slash character ( / ) can be used within the key name to make it appear as if a file is stored within a directory structure. De sleutel van de blob kan bijvoorbeeld input/log1.txt zijn.For example, a blob's key may be input/log1.txt. Er is niet echt een invoermap aanwezig, maar als gevolg van de aanwezigheid van het slash-teken in de naam van de sleutel ziet dit eruit als een bestandspad.No actual input directory exists, but due to the presence of the slash character in the key name, it has the appearance of a file path.

Voordelen van Azure StorageBenefits of Azure Storage

De kosten als gevolg van niet plaatsen rekenclusters en opslagbronnen worden beperkt door de manier waarop de rekenclusters dicht bij de resources van het opslagaccount in de Azure-regio waar dankzij het netwerk maakt het efficiënt voor de COMPUTE-knooppunten voor toegang tot de gegevens in Azure storage.The implied performance cost of not colocating compute clusters and storage resources is mitigated by the way the compute clusters are created close to the storage account resources inside the Azure region, where the high-speed network makes it efficient for the compute nodes to access the data inside Azure storage.

Het opslaan van gegevens in Azure Storage in plaats van HDFS heeft enkele voordelen:There are several benefits associated with storing the data in Azure storage instead of HDFS:

  • Hergebruik van de gegevens en het delen van: De gegevens in HDFS bevindt zich in het rekencluster.Data reuse and sharing: The data in HDFS is located inside the compute cluster. Alleen de toepassingen die toegang tot het rekencluster hebben, kunnen de gegevens met HDFS API's gebruiken.Only the applications that have access to the compute cluster can use the data by using HDFS APIs. De gegevens in Azure storage zijn toegankelijk via de HDFS API's of via de Blob Storage REST API's.The data in Azure storage can be accessed either through the HDFS APIs or through the Blob Storage REST APIs. Zo kan een grotere set toepassingen (inclusief andere HDInsight-clusters) en hulpprogramma's worden gebruikt om de gegevens te produceren en te gebruiken.Thus, a larger set of applications (including other HDInsight clusters) and tools can be used to produce and consume the data.

  • Archivering van gegevens: Opslaan van gegevens in Azure storage, kunt de HDInsight-clusters gebruikt voor berekeningen, veilig worden verwijderd zonder verlies van gebruikersgegevens.Data archiving: Storing data in Azure storage enables the HDInsight clusters used for computation to be safely deleted without losing user data.

  • Kosten voor gegevensopslag: Opslaan van gegevens voor de lange termijn in DFS is duurder dan het opslaan van gegevens in Azure storage, omdat de kosten van een rekencluster hoger zijn dan de kosten van Azure storage.Data storage cost: Storing data in DFS for the long term is more costly than storing the data in Azure storage because the cost of a compute cluster is higher than the cost of Azure storage. Daarnaast bespaart u op de kosten voor het laden van gegevens omdat de gegevens niet opnieuw hoeven te worden geladen voor elk rekencluster dat wordt gegenereerd.In addition, because the data does not have to be reloaded for every compute cluster generation, you are also saving data loading costs.

  • Elastisch uitbreiden: Hoewel HDFS u een scale-out-bestandssysteem biedt, wordt de schaal bepaald door het aantal knooppunten die u voor uw cluster maakt.Elastic scale-out: Although HDFS provides you with a scaled-out file system, the scale is determined by the number of nodes that you create for your cluster. Het wijzigen van de schaal is mogelijk een complexer proces dan. Vertrouw hiervoor niet zonder meer op de elastische schalingsmogelijkheden waarover u automatisch beschikt in Azure Storage.Changing the scale can become a more complicated process than relying on the elastic scaling capabilities that you get automatically in Azure storage.

  • Geo-replicatie: Uw Azure-opslag kan geografisch worden gerepliceerd.Geo-replication: Your Azure storage can be geo-replicated. Hoewel u dit de mogelijkheid van geografisch herstel en gegevensredundantie biedt, zal een failover naar de geografisch gerepliceerde locatie van grote invloed zijn op uw prestaties en kan dit tot extra kosten leiden.Although this gives you geographic recovery and data redundancy, a failover to the geo-replicated location severely impacts your performance, and it may incur additional costs. U wordt daarom aangeraden de keuze van geo-replicatie goed te overwegen en alleen te gebruiken als de waarde van de gegevens de extra kosten waard zijn.So our recommendation is to choose the geo-replication wisely and only if the value of the data is worth the additional cost.

Bepaalde MapReduce-taken en -pakketten kunnen tussenliggende resultaten genereren die u niet wilt opslaan in Azure Storage.Certain MapReduce jobs and packages may create intermediate results that you don't really want to store in Azure storage. In dat geval kunt u ervoor kiezen de gegevens op te slaan in de lokale HDFS.In that case, you can elect to store the data in the local HDFS. HDInsight gebruikt DFS voor verschillende tussenliggende resultaten in Hive-taken en andere processen.In fact, HDInsight uses DFS for several of these intermediate results in Hive jobs and other processes.

Notitie

De meeste HDFS-opdrachten (bijvoorbeeld ls, copyFromLocal en mkdir) nog steeds werken zoals verwacht.Most HDFS commands (for example, ls, copyFromLocal and mkdir) still work as expected. Alleen de opdrachten die specifiek voor de systeemeigen HDFS-implementatie zijn (die wordt aangeduid als DFS), zoals fschk en dfsadmin, verschillend gedrag weergeven in Azure storage.Only the commands that are specific to the native HDFS implementation (which is referred to as DFS), such as fschk and dfsadmin, show different behavior in Azure storage.

Bestanden in Azure Storage adresserenAddress files in Azure storage

Het URI-schema om bestanden in Azure Storage vanuit HDInsight te openen:The URI scheme for accessing files in Azure storage from HDInsight is:

wasb://<BlobStorageContainerName>@<StorageAccountName>.blob.core.windows.net/<path>

Het URI-schema biedt niet-versleutelde toegang (met het voorvoegsel wasb: ) en SSL-versleutelde toegang (met wasbs).The URI scheme provides unencrypted access (with the wasb: prefix) and SSL encrypted access (with wasbs). Waar mogelijk kunt u het beste wasbs gebruiken, zelfs voor de toegang tot gegevens die zich in dezelfde regio in Azure bevinden.We recommend using wasbs wherever possible, even when accessing data that lives inside the same region in Azure.

De <BlobStorageContainerName> wordt de naam van de blob-container in Azure storage.The <BlobStorageContainerName> identifies the name of the blob container in Azure storage. De <StorageAccountName> wordt de naam van Azure Storage-account.The <StorageAccountName> identifies the Azure Storage account name. Een FQDN (Fully Qualified Domain Name) is vereist.A fully qualified domain name (FQDN) is required.

Als geen van beide <BlobStorageContainerName> noch <StorageAccountName> is opgegeven, wordt het standaardbestandssysteem gebruikt.If neither <BlobStorageContainerName> nor <StorageAccountName> has been specified, the default file system is used. Voor de bestand op het standaardbestandssysteem kunt u een relatief of een absoluut pad gebruiken.For the files on the default file system, you can use a relative path or an absolute path. U kunt bijvoorbeeld als volgt verwijzen naar het bestand hadoop-mapreduce-examples.jar dat bij HDInsight-clusters wordt geleverd:For example, the hadoop-mapreduce-examples.jar file that comes with HDInsight clusters can be referred to by using one of the following:

wasb://mycontainer@myaccount.blob.core.windows.net/example/jars/hadoop-mapreduce-examples.jar
wasb:///example/jars/hadoop-mapreduce-examples.jar
/example/jars/hadoop-mapreduce-examples.jar

Notitie

De bestandsnaam is hadoop-examples.jar in HDInsight versie 2.1- en 1.6-clusters.The file name is hadoop-examples.jar in HDInsight versions 2.1 and 1.6 clusters.

Het pad is het bestand of map HDFS-padnaam.The path is the file or directory HDFS path name. Aangezien containers in Azure storage sleutel-waardearchieven zijn, is er geen echt hiërarchisch bestandssysteem.Because containers in Azure storage are key-value stores, there is no true hierarchical file system. Een slash (/) in een blob-sleutel wordt geïnterpreteerd als een teken voor mapscheiding.A slash character ( / ) inside a blob key is interpreted as a directory separator. De blob-naam voor bijvoorbeeld hadoop-mapreduce-examples.jar is:For example, the blob name for hadoop-mapreduce-examples.jar is:

example/jars/hadoop-mapreduce-examples.jar

Notitie

Als u buiten HDInsight met blobs werkt, zullen de meeste hulpprogramma's de indeling WASB niet herkennen en wordt er in plaats daarvan een standaardpadindeling verwacht, zoals 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.

BlobcontainersBlob containers

Voor het gebruik van blobs, maakt u eerst een Azure Storage-account.To use blobs, you first create an Azure Storage account. Als onderdeel hiervan geeft u een Azure-regio op waar het opslagaccount wordt gemaakt.As part of this, you specify an Azure region where the storage account is created. Het cluster en het opslagaccount moeten worden gehost in dezelfde regio.The cluster and the storage account must be hosted in the same region. De Hive-metastore SQL Server-database en SQL Server-database van Apache Oozie-metastore moeten ook in dezelfde regio bevinden.The Hive metastore SQL Server database and Apache Oozie metastore SQL Server database must also be located in the same region.

Elke blob die u maakt, behoort tot een container in uw Azure Storage-account, ongeacht de locatie van de blob.Wherever it lives, each blob you create belongs to a container in your Azure Storage account. Deze container kan een bestaande blob zijn die buiten HDInsight is gemaakt. Het kan echter ook een container zijn die is gemaakt voor een HDInsight-cluster.This container may be an existing blob that was created outside of HDInsight, or it may be a container that is created for an HDInsight cluster.

In de standaard blobcontainer worden clusterspecifieke gegevens opgeslagen, zoals taakgeschiedenis en logboeken.The default Blob container stores cluster-specific information such as job history and logs. Deel een standaard blob-container niet met meerdere HDInsight-clusters.Don't share a default Blob container with multiple HDInsight clusters. Hierdoor kan de taakgeschiedenis beschadigd raken.This might corrupt job history. U kunt voor elk cluster het beste een andere container gebruiken en de gedeelde gegevens in een gekoppeld opslagaccount plaatsen dat is opgegeven in de implementatie van alle relevante cluster, in plaats van het standaardopslagaccount.It is recommended to use a different container for each cluster and put shared data on a linked storage account specified in deployment of all relevant clusters rather than the default storage account. Zie voor meer informatie over het configureren van gekoppelde opslagaccounts maken van HDInsight-clusters.For more information on configuring linked storage accounts, see Create HDInsight clusters. U kunt een standaardopslagcontainer echter opnieuw gebruiken nadat het oorspronkelijke HDInsight-cluster is verwijderd.However you can reuse a default storage container after the original HDInsight cluster has been deleted. Voor HBase-clusters kunt u het HBase-tabelschema en de bijbehorende gegevens behouden door een nieuw HBase-cluster te maken met de standaard-blobcontainer die wordt gebruikt door een verwijderd HBase-cluster.For HBase clusters, you can actually retain the HBase table schema and data by creating a new HBase cluster using the default blob container that is used by an HBase cluster that has been deleted.

Notitie

De functie die is vereist van veilige overdracht alle aanvragen naar uw account via een beveiligde verbinding wordt afgedwongen.The feature that requires secure transfer enforces all requests to your account through a secure connection. Alleen HDInsight-cluster versie 3.6 of nieuwer ondersteunt deze functie.Only HDInsight cluster version 3.6 or newer supports this feature. Zie voor meer informatie, maakt Apache Hadoop-cluster met storage-accounts voor veilige overdracht in Azure HDInsight.For more information, see Create Apache Hadoop cluster with secure transfer storage accounts in Azure HDInsight.

Interactie met Azure storageInteracting with Azure storage

Microsoft biedt de volgende hulpprogramma's om te werken met Azure Storage:Microsoft provides the following tools to work with Azure Storage:

HulpprogrammaTool LinuxLinux OS XOS X WindowsWindows
Azure PortalAzure portal
Azure-CLIAzure CLI
Azure PowerShellAzure PowerShell
AzCopyAzCopy

Extra opslagaccounts gebruikenUse additional storage accounts

Tijdens het maken van een HDInsight-cluster geeft u het Azure Storage-account op dat u ermee wilt koppelen.While creating an HDInsight cluster, you specify the Azure Storage account you want to associate with it. Naast dit opslagaccount kunt u tijdens het maakproces of nadat een cluster is gemaakt extra opslagaccounts toevoegen uit hetzelfde Azure-abonnement of uit andere Azure-abonnementen.In addition to this storage account, you can add additional storage accounts from the same Azure subscription or different Azure subscriptions during the creation process or after a cluster has been created. Zie HDInsight-clusters maken voor instructies over het toevoegen van extra opslagaccounts.For instructions about adding additional storage accounts, see Create HDInsight clusters.

Waarschuwing

Het gebruik van een extra opslagaccount op een andere locatie dan het HDInsight-cluster wordt niet ondersteund.Using an additional storage account in a different location than the HDInsight cluster is not supported.

Volgende stappenNext steps

In dit artikel hebt u geleerd hoe u HDFS-compatibele Azure-opslag kunt gebruiken met HDInsight.In this article, you learned how to use HDFS-compatible Azure storage with HDInsight. Zodoende kunt u een schaalbare, duurzame, archiveringsoplossing voor gegevensverzameling bouwen en HDInsight gebruiken om de informatie te ontsluiten in de opgeslagen gestructureerde en ongestructureerde gegevens.This allows you to build scalable, long-term, archiving data acquisition solutions and use HDInsight to unlock the information inside the stored structured and unstructured data.

Zie voor meer informatie:For more information, see: