Použití úložiště Azure s clustery Azure HDInsight
Data můžete ukládat ve službě Azure Blob Storage 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 Gen2 s několika výjimkami.
V tomto článku se dozvíte, jak služba Azure Storage pracuje s clustery HDInsight.
- Informace o tom, jak Data Lake Storage Gen2 funguje s clustery HDInsight, najdete v tématu Použití Azure Data Lake Storage Gen2 s clustery Azure HDInsight.
- Další informace o vytvoření clusteru HDInsight naleznete v tématu Vytváření clusterů Apache Hadoop v 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
Vytvořte soubor v místním úložišti.
touch testFile.txt
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/
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/
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 filtruPokud 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:
- Rychlý start: Vytvoření clusteru Apache Hadoop
- Kurz: Vytváření clusterů HDInsight
- Použití služby Azure Data Lake Storage Gen2 s clustery Azure HDInsight
- Nahrání dat do služby HDInsight
- Kurz: Extrakce, transformace a načítání dat pomocí Interaktivního dotazu ve službě Azure HDInsight
- Použití sdílených přístupových podpisů služby Azure Storage k omezení přístupu k datům pomocí HDInsight