Az Azure Storage áttekintése a HDInsightban

Az Azure Storage egy robusztus, általános célú tárolási megoldás, amely zökkenőmentesen integrálható a HDInsighttal. A HDInsight egy blobtárolót használhat az Azure Storage-ben a fürt alapértelmezett fájlrendszereként. A HDFS-felületen keresztül a HDInsight összetevőinek teljes készlete közvetlenül blobként tárolt strukturált vagy strukturálatlan adatokon működhet.

Javasoljuk, hogy az alapértelmezett fürttárolóhoz és az üzleti adatokhoz külön tárolókat használjon. Az elkülönítés célja, hogy elkülönítse a HDInsight-naplókat és az ideiglenes fájlokat a saját üzleti adataitól. Azt is javasoljuk, hogy törölje az alapértelmezett blobtárolót, amely alkalmazás- és rendszernaplókat tartalmaz a tárolási költségek csökkentése érdekében. A tároló törlése előtt gondoskodjon a naplók begyűjtéséről.

Ha úgy dönt, hogy biztonságossá teszi a tárfiókot a kiválasztott hálózatok tűzfalaival és virtuális hálózataival kapcsolatos korlátozásokkal, mindenképpen engedélyezze a kivételt: Megbízható Microsoft-szolgáltatások.... A kivétel az, hogy a HDInsight hozzáfér a tárfiókhoz.

HDInsight tároló-architektúra

Az alábbi ábra az Azure Storage HDInsight-architektúrájának absztrakt nézetét mutatja be:

HDInsight Storage Architecture.

A HDInsight hozzáférést nyújt a helyileg a számítási csomópontokhoz csatlakozó elosztott fájlrendszerhez. Ez a fájlrendszer a teljes URI használatával érhető el, például:

hdfs://<namenodehost>/<path>

A HDInsighton keresztül az Azure Storage-ban is hozzáférhet az adatokhoz. A szintaxis a következő:

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

Hierarchikus névtérrel (Azure Data Lake Storage Gen2) rendelkező fiókok esetében a szintaxis a következő:

abfs://<containername>@<accountname>.dfs.core.windows.net/<file.path>/

Az Azure Storage-fiók HDInsight-fürtökkel való használatakor vegye figyelembe az alábbi alapelveket:

  • Fürthöz csatlakozó tárolók a tárfiókokban: Mivel a fiók neve és kulcsa társítva van a fürttel a létrehozás során, teljes hozzáféréssel rendelkezik a tárolókban lévő összes blobhoz.

  • Nyilvános tárolók vagy nyilvános blobok olyan tárfiókokban, amelyek nem kapcsolódnak fürthöz: Csak olvasási engedéllyel rendelkezik a tárolókban lévő blobokhoz.

    Feljegyzés

    A nyilvános tárolók segítségével lekérheti az adott tárolóban elérhető összes blob listáját, és lekérheti a tároló metaadatait. A nyilvános blobok esetén csak akkor érheti el a blobokat, ha ismeri a pontos URL-t. További információkért lás a tárolók és blobok névtelen olvasási hozzáférésének kezelésével foglalkozó témakört.

  • Fürthöz nem csatlakoztatott tárfiókok privát tárolói: A tárolókban lévő blobokat csak akkor érheti el, ha a WebHCat-feladatok elküldésekor definiálja a tárfiókot.

A létrehozási folyamat során meghatározott tárfiókok és a kulcsaik a %HADOOP_HOME%/conf/core-site.xml fájlban találhatók a fürtcsomópontokon. A HDInsight alapértelmezés szerint a core-site.xml fájlban definiált tárfiókokat használja. Ezt a beállítást az Apache Ambari használatával módosíthatja. Az core-site.xml fájlban módosítható vagy elhelyezhető tárfiók-beállításokról az alábbi cikkekben talál további információt:

Több WebHCat-feladat, köztük az Apache Hive. A MapReduce, az Apache Hadoop streamelése és az Apache Pig pedig a tárfiókok és metaadatok leírását hordozzák. (Ez a szempont jelenleg a tárfiókokkal rendelkező Pig esetében igaz, a metaadatokra azonban nem.) További információ: HDInsight-fürt használata alternatív tárfiókokkal és metaadattárakkal.

A blobok a strukturált és strukturálatlan adatokhoz használhatók. A Blob-tárolók kulcs-érték párként tárolják az adatokat, és nem rendelkeznek címtárhierarchiával. A kulcsnév azonban tartalmazhat perjeljelet (/) annak megjelenítéséhez, hogy a fájl könyvtárszerkezetben legyen tárolva. Egy blob kulcsa input/log1.txtlehet például . Nincs tényleges input könyvtár, de a kulcsnév perjel karaktere miatt a kulcs fájlútvonalként néz ki.

Az Azure Storage előnyei

A nem megosztott számítási fürtök és tárolási erőforrások vélelmezett teljesítményköltséggel rendelkeznek. Ezeket a költségeket az csökkenti, hogy a számítási fürtök az Azure-régióban található tárfiók-erőforrások közelében jönnek létre. Ebben a régióban a számítási csomópontok hatékonyan férhetnek hozzá az adatokhoz az Azure Storage nagy sebességű hálózatán keresztül.

Ha HDFS helyett az Azure Storage-ban tárolja az adatokat, számos előnye van:

  • Adatok újbóli használata és megosztása: A HDFS-ben az adatok a számítási fürtön belül találhatóak. Csak a számítási fürtöt elérő alkalmazások használhatják az adatokat HDFS API-k használatával. Az Azure Storage-ban lévő adatok ezzel szemben a HDFS API-k vagy a Blob Storage REST API-k segítségével érhetők el. Ennek az elrendezésnek köszönhetően az adatok előállításához és felhasználásához több alkalmazás (köztük más HDInsight-fürtök) és eszközök is használhatók.

  • Adatarchiválás: Ha az adatok tárolása az Azure Storage-ban történik, a számításhoz használt HDInsight-fürtök biztonságosan törölhetők felhasználói adatok elvesztése nélkül.

  • Adattárolási költség: Az adatok hosszú távú tárolása elosztott fájlrendszerben költségesebb, mint az adatok tárolása az Azure Storage-ban. Mivel egy számítási fürt költsége magasabb, mint az Azure Storage költsége. Mivel az adatokat nem kell minden számítási fürt létrehozásakor újra betölteni, az adatbetöltési költségeket is megtakaríthatja.

  • Rugalmas kibővítés: Bár a HDFS kibővített fájlrendszert biztosít, a léptéket a fürthöz létrehozott csomópontok száma határozza meg. A méretezés módosítása bonyolultabb lehet, mint az Azure Storage-ban automatikusan megjelenő rugalmas skálázási képességek.

  • Georeplikálás: Az Azure Storage georeplikált. Bár a georeplikálás földrajzi helyreállítást és adatredundanciát biztosít, a georeplikált helyre történő feladatátvétel súlyosan befolyásolja a teljesítményt, és további költségekkel járhat. Ezért körültekintően válassza a georeplikálást, és csak akkor, ha az adatok értéke indokolja a további költségeket.

Bizonyos MapReduce-feladatok és csomagok köztes eredményeket hozhatnak létre, amelyeket nem szeretne az Azure Storage-ban tárolni. Ebben az esetben dönthet úgy, hogy az adatokat a helyi HDFS-ben tárolja. A HDInsight több ilyen köztes eredményhez DFS-t használ Hive-feladatokban és egyéb folyamatokban.

Feljegyzés

A LEGTÖBB HDFS-parancs (például ls, copyFromLocalés mkdir) a várt módon működik az Azure Storage-ban. Az Azure Storage-ban csak a natív HDFS-implementációra (más néven elosztott fájlrendszerre) fschkdfsadminjellemző parancsok mutatnak eltérő viselkedést.

Következő lépések