Sdílet prostřednictvím


Použití úložiště Azure s clustery Azure HDInsight

Data můžete ukládat ve službě Azure Blob Storage, Azure Data Lake Storage Gen1 nebo Azure Data Lake Storage Gen2. Nebo kombinaci těchto možností. Tyto možnosti úložiště umožňují bezpečně odstranit clustery HDInsight, které se používají k výpočtu, aniž by se ztratila uživatelská data.

Apache Hadoop podporuje koncept výchozího systému souborů. Výchozí systém souborů znamená výchozí schéma a autoritu. Lze ho také použít k vyřešení relativní cesty. Během procesu vytváření clusteru HDInsight můžete jako výchozí systém souborů zadat kontejner objektů blob ve službě Azure Storage. Nebo s HDInsight 3.6 můžete jako výchozí systém souborů vybrat azure Blob Storage nebo Azure Data Lake Storage Gen1/ Azure Data Lake Storage Gen2 s několika výjimkami. Informace o podpoře použití Data Lake Storage Gen1 jako výchozího i propojeného úložiště najdete v tématu Dostupnost clusteru HDInsight.

V tomto článku se dozvíte, jak služba Azure Storage pracuje s clustery HDInsight.

Důležité

Typ účtu úložiště BlobStorage lze použít pouze jako sekundární úložiště pro clustery HDInsight.

Druh účtu úložiště Podporované služby Podporované úrovně výkonu Nepodporovaná úroveň výkonu Podporované úrovně přístupu
StorageV2 (obecné účely v2) Objekt blob Standard Premium Horká, studená, archiv*
Úložiště (obecné účely v1) Objekt blob Standard Premium
Blob Storage Objekt blob Standard Premium Horká, studená, archiv*

Pro ukládání obchodních dat nedoporučujeme používat výchozí kontejner objektů blob. Ideální postup je výchozí kontejner objektů blob po každém použití odstranit a snížit tak náklady na úložiště. Výchozí kontejner obsahuje protokoly aplikací a systémů. Než odstraníte kontejner, nezapomeňte tyto protokoly načíst.

Sdílení jednoho kontejneru objektů blob jako výchozího systému souborů pro více clusterů se nepodporuje.

Poznámka:

Archivní úroveň přístupu je offline úroveň, která má latenci načítání několik hodin a nedoporučuje se pro použití se službou HDInsight. Další informace najdete v tématu Archivní úroveň přístupu.

Přístup k souborům z clusteru

Poznámka:

Tým úložiště Azure ukončil veškerý aktivní vývoj v WASB a doporučil všem zákazníkům používat ovladač ABFS k interakci s objekty blob a ADLS Gen2. Další informace najdete v tématu Ovladač systému souborů Azure Blob (ABFS): Vyhrazený ovladač služby Azure Storage pro Hadoop

  • Pomocí plně kvalifikovaného názvu. S tímto přístupem zadáváte úplnou cestu k souboru, ke kterému chcete získat přístup.

    wasb://<containername>@<accountname>.blob.core.windows.net/<file.path>/
    wasbs://<containername>@<accountname>.blob.core.windows.net/<file.path>/
    
  • Pomocí zkráceného formátu cesty. Tímto přístupem nahradíte cestu do kořenového adresáře clusteru takto:

    wasb:///<file.path>/
    wasbs:///<file.path>/
    
  • Pomocí relativní cesty. S tímto přístupem zadáváte pouze relativní cestu k souboru, ke kterému chcete získat přístup.

    /<file.path>/
    

Příklady přístupu k datům

Příklady jsou založené na připojení ssh k hlavnímu uzlu clusteru. V příkladech se používají všechna tři schémata identifikátorů URI. Nahrazení CONTAINERNAME a STORAGEACCOUNT s příslušnými hodnotami

Několik příkazů hdfs

  1. Vytvořte soubor v místním úložišti.

    touch testFile.txt
    
  2. Vytvořte adresáře v úložišti clusteru.

    hdfs dfs -mkdir wasbs://CONTAINERNAME@STORAGEACCOUNT.blob.core.windows.net/sampledata1/
    hdfs dfs -mkdir wasbs:///sampledata2/
    hdfs dfs -mkdir /sampledata3/
    
  3. Zkopírujte data z místního úložiště do úložiště clusteru.

    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. Vypíše obsah adresáře v úložišti clusteru.

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

Poznámka:

Při práci s objekty blob mimo HDInsight většina nástrojů nerozpozná formát WASB a místo toho očekávají základní formát cesty, jako je například example/jars/hadoop-mapreduce-examples.jar.

Vytvoření tabulky Hive

Pro ilustrativní účely se zobrazují tři umístění souborů. Pro skutečné spuštění použijte pouze jednu z LOCATION položek.

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/';

Přístup k souborům z vnějšího clusteru

Microsoft poskytuje následující nástroje pro práci se službou Azure Storage:

Nástroj Linux OS X Windows
Azure Portal
Azure CLI
Azure PowerShell
AzCopy

Identifikace cesty k úložišti z Ambari

  • Pokud chcete identifikovat úplnou cestu ke nakonfigurovaným výchozímu úložišti, přejděte na:

    Konfigurace HDFS>a zadání fs.defaultFS do vstupního pole filtru

  • Pokud chcete zkontrolovat, jestli je úložiště wasb nakonfigurované jako sekundární úložiště, přejděte na:

    Konfigurace HDFS>a zadání blob.core.windows.net do vstupního pole filtru

Pokud chcete získat cestu pomocí rozhraní Ambari REST API, přečtěte si téma Získání výchozího úložiště.

Kontejnery objektů blob

K použití objektů blob je třeba nejprve vytvořit Účet služby Azure Storage. V rámci tohoto kroku zadáte oblast Azure, ve které se účet úložiště vytvoří. Účet úložiště a clusteru musí být uloženy ve stejné oblasti. Databáze SQL Serveru metastoru Hive a databáze SQL serveru metastoru Apache Oozie musí být umístěny ve stejné oblasti.

Bez ohledu na svoje umístění patří každý objekt blob, který vytvoříte, do kontejneru v účtu úložiště Azure. Tento kontejner může být existující objekt blob vytvořený mimo HDInsight. Nebo to může být kontejner, který se vytvoří pro cluster HDInsight.

Výchozí kontejner objektu blob ukládá konkrétní informace, jako je historie úlohy a protokoly. Výchozí kontejner objektu Blob nesdílejte s více clustery služby HDInsight. Tato akce může poškodit historii úloh. Pro každý cluster se doporučuje použít jiný kontejner. Umístěte sdílená data do propojeného účtu úložiště určeného pro všechny relevantní clustery místo výchozího účtu úložiště. Další informace o konfiguraci propojených účtů úložiště najdete v tématu Tvorba clusterů HDInsight. Nicméně, po odstranění původního clusteru HDInsight můžete znovu použít výchozí kontejner úložiště. U clusterů HBase můžete ve skutečnosti zachovat schéma a data tabulky HBase vytvořením nového clusteru HBase pomocí výchozího kontejneru objektů blob, který používá odstraněný cluster HBase.

Poznámka:

Funkce , která vyžaduje zabezpečený přenos , vynucuje všechny požadavky na váš účet prostřednictvím zabezpečeného připojení. Tuto funkci podporuje pouze cluster HDInsight verze 3.6 nebo novější. Další informace najdete v tématu Vytvoření clusteru Apache Hadoop s účty úložiště zabezpečeného přenosu ve službě Azure HDInsight.

Použití dalších účtů úložiště

Při vytváření clusteru HDInsight zadáváte účet služby Azure Storage, který k němu chcete přidružit. Během procesu vytváření nebo po vytvoření clusteru můžete také přidat další účty úložiště ze stejného předplatného Azure nebo z různých předplatných Azure. Pokyny pro přidání dalších účtů úložiště najdete v tématu Vytváření clusterů HDInsight.

Upozorňující

Použití dalšího účtu úložiště v jiném umístění než cluster HDInsight se nepodporuje.

Další kroky

V tomto článku jste zjistili, jak používat HDFS kompatibilní úložiště Azure se službou HDInsight. Toto úložiště umožňuje vytvářet přizpůsobitelná, dlouhodobá řešení pro archivaci získávání dat a používat HDInsight k odemknutí informací uvnitř uložených strukturovaných a nestrukturovaných dat.

Další informace naleznete v tématu: