Azure-opslag gebruiken met Azure HDInsight-clusters
U kunt gegevens opslaan in Azure Blob Storage, Azure Data Lake Storage Gen1 of Azure Data Lake Storage Gen2. Of een combinatie van deze opties. Met deze opslagopties kunt u HDInsight-clusters die worden gebruikt voor berekeningen veilig verwijderen zonder dat er gebruikersgegevens verloren gaan.
Apache Hadoop ondersteunt een idee van het standaardbestandssysteem. Het standaardbestandssysteem impliceert een standaardschema en instantie. De toepassing kan ook worden gebruikt om relatieve paden om te zetten. Tijdens het maken van het HDInsight-cluster kunt u een blobcontainer in Azure Storage opgeven als het standaardbestandssysteem. Of met HDInsight 3.6 kunt u Azure Blob Storage of Azure Data Lake Storage Gen1/ Azure Data Lake Storage Gen2 selecteren als het standaardbestandssysteem, met enkele uitzonderingen. Zie Beschikbaarheid voor HDInsight-cluster voor de ondersteuning van het gebruik van Data Lake Storage Gen1 als de standaardopslag en gekoppelde opslag.
In dit artikel wordt uitgelegd hoe Azure Storage werkt met HDInsight-clusters.
- Zie Use Azure Data Lake Storage Gen1 with Azure HDInsight clusters (Azure Data Lake Storage Gen1 gebruiken met Azure HDInsight-clusters) voor meer informatie over hoe Data Lake Storage Gen1 werkt met HDInsight-clusters.
- Zie Use Azure Data Lake Storage Gen2 with Azure HDInsight clusters (Azure Data Lake Storage Gen2 gebruiken met Azure HDInsight-clusters) voor meer informatie over hoe Data Lake Storage Gen2 werkt met HDInsight-clusters.
- Zie Apache Hadoop-clusters maken in HDInsight voor meer informatie over het maken van een HDInsight-cluster.
Belangrijk
BlobStorage voor opslagaccounts kan alleen worden gebruikt als secundaire opslag voor HDInsight-clusters.
Opslagaccounttype | Ondersteunde services | Ondersteunde prestatielagen | Niet-ondersteunde prestatielagen | Ondersteunde toegangslagen |
---|---|---|---|---|
StorageV2 (algemeen gebruik v2) | Blob | Standard | Premium | Dynamisch, Statisch, Archief* |
Storage (algemene doeleinden v1) | Blob | Standard | Premium | N.v.t. |
BlobStorage | Blob | Standard | Premium | Dynamisch, Statisch, Archief* |
Het is niet raadzaam om de standaard-blobcontainer te gebruiken voor het opslaan van bedrijfsgegevens. Het is een goede gewoonte om de standaard-blobcontainer na ieder gebruik te verwijderen om de opslagkosten te verlagen. De standaardcontainer bevat toepassings- en systeemlogboeken. Breng de logboeken over naar een andere locatie voordat u de container verwijdert.
Het delen van één blobcontainer als het standaardbestandssysteem voor meerdere clusters wordt niet ondersteund.
Notitie
De archieftoegangslaag is een offlinelaag met een latentie van enkele uren bij het ophalen en wordt niet aanbevolen voor gebruik met HDInsight. Zie Archieftoegangslaag voor meer informatie.
Toegang tot bestanden vanuit een cluster
Er zijn verschillende manieren om toegang te krijgen tot de bestanden in Data Lake Storage vanuit een HDInsight-cluster. Het URI-schema biedt niet-versleutelde toegang (met het voorvoegsel wasb: ) en met TLS versleutelde toegang (met wasbs). Waar mogelijk kunt u het beste wasbs gebruiken, zelfs voor de toegang tot gegevens die zich in dezelfde regio in Azure bevinden.
De volledig gekwalificeerde naam gebruiken. Met deze methode geeft u het volledige pad op naar het bestand dat u wilt openen.
wasb://<containername>@<accountname>.blob.core.windows.net/<file.path>/ wasbs://<containername>@<accountname>.blob.core.windows.net/<file.path>/
De verkorte padnotatie gebruiken. Met deze methode vervangt u het pad tot aan de clusterhoofdmap door:
wasb:///<file.path>/ wasbs:///<file.path>/
Het relatieve pad gebruiken. Met deze methode geeft u alleen het volledige relatieve pad op naar het bestand dat u wilt openen.
/<file.path>/
Voorbeelden van gegevenstoegang
Voorbeelden zijn gebaseerd op een SSH-verbinding met het hoofdknooppunt van het cluster. In de voorbeelden worden alle drie de URI-schema's gebruikt. Vervang en STORAGEACCOUNT
door CONTAINERNAME
de relevante waarden
Een paar hdfs-opdrachten
Maak een bestand op lokale opslag.
touch testFile.txt
Maak mappen in clusteropslag.
hdfs dfs -mkdir wasbs://CONTAINERNAME@STORAGEACCOUNT.blob.core.windows.net/sampledata1/ hdfs dfs -mkdir wasbs:///sampledata2/ hdfs dfs -mkdir /sampledata3/
Gegevens kopiëren van lokale opslag naar clusteropslag.
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/
Lijst met mapinhoud op clusteropslag.
hdfs dfs -ls wasbs://CONTAINERNAME@STORAGEACCOUNT.blob.core.windows.net/sampledata1/ hdfs dfs -ls wasbs:///sampledata2/ hdfs dfs -ls /sampledata3/
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
.
Een Hive-tabel maken
Er worden drie bestandslocaties weergegeven voor illustratieve doeleinden. Gebruik voor de werkelijke uitvoering slechts één van de LOCATION
vermeldingen.
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/';
Toegang tot bestanden van buiten het cluster
Microsoft biedt de volgende hulpprogramma's om met Azure Storage te werken:
Hulpprogramma | Linux | OS X | Windows |
---|---|---|---|
Azure Portal | ✔ | ✔ | ✔ |
Azure-CLI | ✔ | ✔ | ✔ |
Azure PowerShell | ✔ | ||
AzCopy | ✔ | ✔ |
Opslagpad van Ambari identificeren
Als u het volledige pad naar het geconfigureerde standaardarchief wilt identificeren, gaat u naar:
HDFS>Configuraties en voer in
fs.defaultFS
het filterinvoervak in.Als u wilt controleren of wasb-opslag is geconfigureerd als secundaire opslag, gaat u naar:
HDFS>Configuraties en voer in
blob.core.windows.net
het filterinvoervak in.
Zie De standaardopslag ophalen voor informatie over het verkrijgen van het pad met behulp van de Ambari REST API.
Blobcontainers
Als u blobs wilt gebruiken, maakt u eerst een Azure Storage-account. Als onderdeel van deze stap geeft u een Azure-regio op waar het opslagaccount wordt gemaakt. Het cluster en het opslagaccount moeten worden gehost in dezelfde regio. De Hive-metastore SQL Server database en Apache Oozie-metastore SQL Server-database moeten zich in dezelfde regio bevinden.
Elke blob die u maakt, behoort tot een container in uw Azure Storage-account, ongeacht de locatie van de blob. Deze container kan een bestaande blob zijn die buiten HDInsight is gemaakt. Het kan ook een container zijn die is gemaakt voor een HDInsight-cluster.
In de standaard blobcontainer worden clusterspecifieke gegevens opgeslagen, zoals taakgeschiedenis en logboeken. Deel een standaard blob-container niet met meerdere HDInsight-clusters. Deze actie kan de taakgeschiedenis beschadigen. Het wordt aanbevolen om voor elk cluster een andere container te gebruiken. Plaats gedeelde gegevens in een gekoppeld opslagaccount dat is opgegeven voor alle relevante clusters in plaats van het standaardopslagaccount. Zie HDInsight-clusters maken voor meer informatie over het configureren van gekoppelde opslagaccounts. U kunt een standaardopslagcontainer echter opnieuw gebruiken nadat het oorspronkelijke HDInsight-cluster is verwijderd. Voor HBase-clusters kunt u het HBase-tabelschema en de gegevens daadwerkelijk behouden door een nieuw HBase-cluster te maken met behulp van de standaardblobcontainer die wordt gebruikt door een verwijderd HBase-cluster
Notitie
De functie waarvoor beveiligde overdracht is vereist , dwingt alle aanvragen voor uw account af via een beveiligde verbinding. Alleen HDInsight-clusterversie 3.6 of hoger ondersteunt deze functie. Zie Apache Hadoop-cluster maken met opslagaccounts voor beveiligde overdracht in Azure HDInsight voor meer informatie.
Extra opslagaccounts gebruiken
Tijdens het maken van een HDInsight-cluster geeft u het Azure Storage-account op dat u ermee wilt koppelen. U kunt ook extra opslagaccounts uit hetzelfde Azure-abonnement of verschillende Azure-abonnementen toevoegen tijdens het maken of nadat een cluster is gemaakt. Zie HDInsight-clusters maken voor instructies over het toevoegen van extra opslagaccounts.
Waarschuwing
Het gebruik van een extra opslagaccount op een andere locatie dan het HDInsight-cluster wordt niet ondersteund.
Volgende stappen
In dit artikel hebt u geleerd hoe u HDFS-compatibele Azure-opslag kunt gebruiken met HDInsight. Met deze opslag kunt u aanpasbare, langetermijnoplossingen voor het verzamelen van gegevens bouwen en HDInsight gebruiken om de informatie in de opgeslagen gestructureerde en ongestructureerde gegevens te ontgrendelen.
Zie voor meer informatie:
- Quickstart: Apache Hadoop-cluster maken
- Zelfstudie: HDInsight-clusters maken
- Azure Data Lake Storage Gen2 gebruiken met Azure HDInsight-clusters
- Gegevens uploaden naar HDInsight
- Zelfstudie: Gegevens extraheren, transformeren en laden met Interactive Query in Azure HDInsight
- Handtekeningen voor gedeelde toegang van Azure Storage gebruiken om de toegang tot gegevens te beperken met HDInsight