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

Als u gegevens in een HDInsight-cluster wilt analyseren, kunt u de gegevens opslaan in Azure Storage, Azure data Lake Storage gen 1/Azure data Lake Storage gen 2of een combi natie hiervan.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. Met deze opslag opties kunt u HDInsight-clusters die worden gebruikt voor berekeningen, veilig verwijderen zonder dat er gebruikers gegevens verloren gaan.These storage options enable you to safely delete HDInsight clusters that are used for computation without losing user data.

Apache Hadoop ondersteunt een principe van het standaard bestandssysteem.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 maken van het HDInsight-cluster kunt u een BLOB-container opgeven in Azure Storage als het standaard bestandssysteem, of met HDInsight 3,6, kunt u Azure Storage of Azure Data Lake Storage gen 1/Azure Data Lake Storage gen 2 als de standaard bestanden selecteren systeem met enkele uitzonde ringen.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 Beschik baarheid voor HDInsight-clustervoor de ondersteuning van het gebruik van data Lake Storage gen 1 als standaard-en gekoppelde opslag.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 Azure data Lake Storage gebruiken met Azure hdinsight-clustersvoor meer informatie over hoe data Lake Storage gen 1 werkt met 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 Apache Hadoop clusters maken in HDInsightvoor meer informatie over het maken van een HDInsight-cluster.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 opslag account 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 opslag accountStorage account kind Ondersteunde servicesSupported services Ondersteunde prestatie lagenSupported performance tiers Ondersteunde toegangs lagenSupported access tiers
StorageV2 (general-purpose v2)StorageV2 (general-purpose v2) BlobBlob StandardStandard Hot, cool, Archive*Hot, Cool, Archive*
Opslag (algemeen gebruik v1)Storage (general-purpose v1) BlobBlob StandardStandard N/AN/A
BlobStorageBlobStorage BlobBlob StandardStandard Hot, cool, 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 standaard container bevat toepassings-en systeem 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 Access-laag voor het archief is een offline laag met een aantal latentie voor het ophalen van uur 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 Access-laag archiverenvoor meer informatie.For more information, see Archive access tier.

Als u ervoor kiest om uw opslag account te beveiligen met de firewalls en beperkingen voor virtuele netwerken op geselecteerde netwerken, moet u de uitzonde ring inschakelen vertrouwde micro soft-Services toestaan... zodat HDInsight toegang kan krijgen tot uw opslag account.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 HDFS-API voor toegang tot en opslag van gegevens in Blob StorageHadoop clusters use HDFS API to access and store 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 opslag accounts die zijn verbonden met een cluster: Omdat de account naam en-sleutel zijn gekoppeld aan het cluster tijdens het maken, 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.

  • Open bare containers of open bare blobs in opslag accounts die niet zijn verbonden met een cluster: U hebt alleen-lezen-machtiging voor 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 toegang tot containers en blobs beherenvoor meer informatie.For more information, see Manage access to containers and blobs.

  • Persoonlijke containers in opslag accounts die niet zijn verbonden met een cluster: U hebt geen toegang tot de blobs in de containers, tenzij u het opslag account definieert wanneer u 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 opslag accounts die zijn gedefinieerd in het proces van maken en hun sleutels worden opgeslagen %HADOOP_HOME%/conf/core-site.xml op de cluster knooppunten.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 Apache Ambari.You can modify this setting using Apache Ambari.

Meerdere WebHCat-taken, waaronder Apache Hive, MapReduce, Apache Hadoop streaming en Apache varken, kunnen een beschrijving van opslag accounts en meta gegevens bevatten.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 impliciete prestaties van het niet volgen van reken clusters en opslag bronnen worden beperkt door de manier waarop de berekenings clusters worden gemaakt dicht bij de resources van het opslag account in de Azure-regio, waar het netwerk met hoge snelheid het efficiënt maakt voor de Reken 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 en delen van gegevens: De gegevens in HDFS bevinden zich in het berekenings cluster.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.

  • Gegevens archivering: Door gegevens op te slaan in azure Storage, kunnen de HDInsight-clusters die worden gebruikt voor de berekening veilig worden verwijderd zonder dat er gebruikers gegevens verloren gaan.Data archiving: Storing data in Azure storage enables the HDInsight clusters used for computation to be safely deleted without losing user data.

  • Kosten voor gegevens opslag: Het opslaan van gegevens in DFS voor de lange termijn is kostbaarer dan de opslag van de gegevens in azure Storage, omdat de kosten van een reken cluster 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 uitschalen: Hoewel HDFS u een scale-out bestands systeem biedt, wordt de schaal bepaald door het aantal knoop punten dat 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) werken gewoon zoals verwacht.Most HDFS commands (for example, ls, copyFromLocal and mkdir) still work as expected. Alleen de opdrachten die specifiek zijn voor de systeem eigen HDFS-implementatie (aangeduid als DFS), zoals fschk en dfsadmin, tonen een ander gedrag 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.

<BlobStorageContainerName> Hiermee wordt de naam van de BLOB-container in azure Storage aangeduid.The <BlobStorageContainerName> identifies the name of the blob container in Azure storage. <StorageAccountName> Hiermee wordt de naam van het Azure Storage-account aangeduid.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 <BlobStorageContainerName> van <StorageAccountName> beide of is opgegeven, wordt het standaard bestandssysteem 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 bestands naam bevindt zich hadoop-examples.jar in de HDInsight-versies 2,1 en 1,6.The file name is hadoop-examples.jar in HDInsight versions 2.1 and 1.6 clusters.

Het pad is de naam van het bestand of de map HDFS pad.The path is the file or directory HDFS path name. Omdat containers in azure Storage sleutel-Stores zijn, is er geen echt hiërarchisch bestands systeem.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

Als u blobs wilt gebruiken, 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-Data Base en Apache Oozie-meta Store SQL Server-Data Base moeten zich 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 HDInsight-clusters makenvoor meer informatie over het configureren van gekoppelde opslag accounts.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

Micro soft biedt de volgende hulpprogram ma's voor het 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: