Az Azure Storage és az Azure HDInsight-fürtök együttes használataUse Azure storage with Azure HDInsight clusters

HDInsight-fürtben lévő adatok elemzéséhez, az adatokat tárolhatja akár a Azure Storage, Azure Data Lake Storage általános 1/Azure Data Lake Storage általános 2, vagy a kettő kombinációjához.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. A tárolási lehetőségek engedélyezése felhasználói adatok elvesztése nélkül törölje a számításhoz használt HDInsight-fürtök biztonságos törlését.These storage options enable you to safely delete HDInsight clusters that are used for computation without losing user data.

Az Apache Hadoop támogatja az alapértelmezett fájlrendszer.Apache Hadoop supports a notion of the default file system. Az alapértelmezett fájlrendszer egy alapértelmezett sémát és szolgáltatót is jelent.The default file system implies a default scheme and authority. A relatív elérési utak feloldásához is használható.It can also be used to resolve relative paths. A HDInsight fürt létrehozása során megadhatja egy blob-tárolóba az Azure Storage, az alapértelmezett fájlrendszerként, vagy a HDInsight 3.6-os, kiválaszthatja az Azure Storage vagy az Azure Data Lake Storage általános 1 / Azure Data Lake Storage, az alapértelmezett fájlok 2. generációs gyűjtések a rendszer néhány kivétellel.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. Az alapértelmezett és a társított storage használatával a Data Lake Storage általános 1 támogathatóság, lásd: HDInsight-fürt rendelkezésre állási.For the supportability of using Data Lake Storage Gen 1 as both the default and linked storage, see Availability for HDInsight cluster.

Ebből a cikkből megtudhatja, hogyan használható az Azure Storage a HDInsight-fürtökkel.In this article, you learn how Azure Storage works with HDInsight clusters. A HDInsight-fürtökkel Data Lake Storage általános 1 működésével kapcsolatban lásd: használata Azure Data Lake Storage az Azure HDInsight-fürtök.To learn how Data Lake Storage Gen 1 works with HDInsight clusters, see Use Azure Data Lake Storage with Azure HDInsight clusters. Egy HDInsight-fürt létrehozásával kapcsolatos további információkért lásd: Apache Hadoop-fürtök létrehozása a HDInsight.For more information about creating an HDInsight cluster, see Create Apache Hadoop clusters in HDInsight.

Az Azure Blob Storage egy robusztus, általános célú tárolómegoldás, amely zökkenőmentesen integrálható a HDInsight eszközzel.Azure storage is a robust, general-purpose storage solution that integrates seamlessly with HDInsight. A HDInsight egy blobtárolót használhat az Azure Storage-ben a fürt alapértelmezett fájlrendszereként.HDInsight can use a blob container in Azure Storage as the default file system for the cluster. A Hadoop elosztott fájlrendszer (HDFS) felületen keresztül a HDInsight összetevők teljes készlete működhet közvetlenül a strukturált vagy strukturálatlan adatokon a Blob Storage tárolóban.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.

Figyelmeztetés

A tárfiók típusának BlobStorage csak akkor használható másodlagos tárolóként HDInsight-fürtök esetén.Storage account kind BlobStorage can only be used as secondary storage for HDInsight clusters.

A tárfiók típusánakStorage account kind Támogatott szolgáltatásokSupported services Támogatott teljesítményszintekSupported performance tiers Támogatott elérési szintSupported access tiers
StorageV2 (általános célú v2)StorageV2 (general-purpose v2) BlobBlob StandardStandard Gyakori, ritka elérésű, archív tárolási szint*Hot, Cool, Archive*
Storage (általános célú v1)Storage (general-purpose v1) BlobBlob StandardStandard N/A
BlobStorageBlobStorage BlobBlob StandardStandard Gyakori, ritka elérésű, archív tárolási szint*Hot, Cool, Archive*

Az alapértelmezett blobtárolóban nem ajánlott üzleti adatokat tárolni.We do not recommend that you use the default blob container for storing business data. Az alapértelmezett blobtárolót ajánlatos törölni minden egyes használat után.Deleting the default blob container after each use to reduce storage cost is a good practice. Az alapértelmezett tároló tartalmazza, az alkalmazás- és naplókat.The default container contains application and system logs. A tároló törlése előtt gondoskodjon a naplók begyűjtéséről.Make sure to retrieve the logs before deleting the container.

Egy blobtároló alapértelmezett fájlrendszerként való, több fürt közötti megosztása nem támogatott.Sharing one blob container as the default file system for multiple clusters is not supported.

Megjegyzés

Az archivált adatok hozzáférési szintje egy kapcsolat nélküli réteg egy több órás késése és a HDInsight segítségével nem ajánlott.The Archive access tier is an offline tier that has a several hour retrieval latency and is not recommended for use with HDInsight. További információkért lásd: archivált adatok hozzáférési szintje.For more information, see Archive access tier.

Ha úgy dönt, hogy a tárfiók biztonságos a tűzfalak és virtuális hálózatok korlátozásai kiválasztott hálózatok, ügyeljen arra, hogy a kivétel engedélyezése engedélyezése a Microsoft megbízható szolgáltatások... úgy, hogy a HDInsight képes hozzáférni a tárfiókhoz.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 tároló-architektúraHDInsight storage architecture

A következő ábra az Azure Storage-ot használó HDInsight tároló-architektúra absztrakt nézetét nyújtja:The following diagram provides an abstract view of the HDInsight storage architecture of using Azure Storage:

A Hadoop-fürtök a HDFS API-val érik el és tárolják a strukturált és strukturálatlan adatokat a Blob Storage-ban.Hadoop clusters use the HDFS API to access and store structured and unstructured data in Blob storage.

A HDInsight hozzáférést nyújt a helyileg a számítási csomópontokhoz csatlakozó elosztott fájlrendszerhez.HDInsight provides access to the distributed file system that is locally attached to the compute nodes. Ez a fájlrendszer a teljes URI használatával érhető el, például:This file system can be accessed by using the fully qualified URI, for example:

hdfs://<namenodehost>/<path>

Emellett a HDInsight lehetővé teszi az Azure Storage tárolóban tárolt adatok elérését.In addition, HDInsight allows you to access data that is stored in Azure Storage. A szintaxis a következő:The syntax is:

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

Az alábbiakban néhány szempont olvasható Azure Storage-fiók és HDInsight-fürtök együttes használatával kapcsolatban.Here are some considerations when using Azure Storage account with HDInsight clusters.

  • A storage-fiókokban fürthöz csatlakozó tárolók: Mivel a fiók neve és kulcsa társítva a fürt létrehozása során, akkor ezeket a tárolókban lévő blobokhoz teljes hozzáféréssel rendelkezik.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.

  • Nyilvános tárolók vagy nyilvános blobok a storage-fiókok, amelyek nem csatlakoznak a fürthöz: Rendelkezik olvasási engedéllyel a tárolókban lévő blobokat.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.

Megjegyzés

A nyilvános tárolók esetén a tárolóban elérhető összes blob listáját és a tároló metaadatait is lekérheti.Public containers allow you to get a list of all blobs that are available in that container and get container metadata. A nyilvános blobok esetén csak akkor érheti el a blobokat, ha ismeri a pontos URL-t.Public blobs allow you to access the blobs only if you know the exact URL. További információkért lásd: tárolókhoz és blobokhoz való hozzáférés kezelése.For more information, see Manage access to containers and blobs.

  • A storage-fiókok fürthöz nem csatlakozó személyes tárolók: Nem férhet hozzá a tárolókban lévő blobokat, kivéve, ha a WebHCat-feladatok elküldésekor határozza meg a tárfiókot.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. Ennek a magyarázatát a cikk későbbi részében találja.This is explained later in this article.

A storage-fiókok a létrehozási folyamat és a kulcsaik meghatározott tárolt %HADOOP_HOME%/conf/core-site.xml a fürtcsomópontokon.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. A HDInsight alapértelmezett viselkedése a core-site.xml fájlban meghatározott tárfiókok használata.The default behavior of HDInsight is to use the storage accounts defined in the core-site.xml file. Ez módosítható használatának beállítása Apache Ambari.You can modify this setting using Apache Ambari.

Több WebHCat-feladatok, többek között az Apache Hive, MapReduce, az Apache Hadoop-Stream és az Apache Pig, képes továbbítani a storage-fiókok és a velük metaadatok leírását.Multiple WebHCat jobs, including Apache Hive, MapReduce, Apache Hadoop streaming, and Apache Pig, can carry a description of storage accounts and metadata with them. (Ez jelenleg a tárfiókokkal működik a Pig-feladatokkal, a metaadatokkal nem.) További információkért lásd: Using an HDInsight Cluster with Alternate Storage Accounts and Metastores (HDInsight-fürtök használata alternatív tárfiókokkal és metaadattárakkal).(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.

A blobok a strukturált és strukturálatlan adatokhoz használhatók.Blobs can be used for structured and unstructured data. A blobtárolók kulcs/érték párokként tárolnak adatokat, és nincs könyvtár-hierarchia.Blob containers store data as key/value pairs, and there is no directory hierarchy. A perjel karakter ( / ) azonban használható a kulcsnévben, hogy úgy tűnjön, mintha a fájl könyvtárszerkezetben lenne tárolva.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. Egy blob kulcsa lehet például az input/log1.txt.For example, a blob's key may be input/log1.txt. Nem létezik tényleges input könyvtár, de mivel jelen van a perjel karakter a kulcsnévben, úgy néz ki, mint egy fájlútvonal.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.

Az Azure Storage előnyeiBenefits of Azure Storage

Az, ahogyan a számítási fürtök belül az Azure-régió, ahol a nagysebességű hálózat hatékonnyá teszi, az a tárfiók erőforrásainak közelében való létrehozása teljesítményköltségeket csökkenti a számítási fürtök és tárolási erőforrások nem mentesülhetnek teljesítményi költségeket a a számítási csomópontok elérik az Azure storage lévő adatok.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.

Több előnye is van annak, ha az adatokat a HDFS helyett az Azure Blob Storage tárolóban tárolja:There are several benefits associated with storing the data in Azure storage instead of HDFS:

  • Adatok újbóli használata és megosztása: Az adatok a HDFS-ben a számítási fürtön belül találhatók.Data reuse and sharing: The data in HDFS is located inside the compute cluster. Csak a számítási fürtöt elérő alkalmazások használhatják az adatokat HDFS API-k használatával.Only the applications that have access to the compute cluster can use the data by using HDFS APIs. Az Azure Storage-adatok a HDFS API-kon keresztül vagy keresztül elérhető a Blob Storage REST API-k.The data in Azure storage can be accessed either through the HDFS APIs or through the Blob Storage REST APIs. Így az alkalmazások (beleértve más HDInsight fürtöket) és eszközök nagyobb készlete használható az adatok előállításához és fogyasztásához.Thus, a larger set of applications (including other HDInsight clusters) and tools can be used to produce and consume the data.

  • Adatarchiválás: Adatok az Azure storage tárolóban végzett tárolása lehetővé teszi, hogy a, hogy biztonságosan felhasználói adatok elvesztése nélkül törölje a számításhoz használt HDInsight fürtöket.Data archiving: Storing data in Azure storage enables the HDInsight clusters used for computation to be safely deleted without losing user data.

  • Adattárolási költség: Az elosztott Fájlrendszerbeli adatok a hosszú távú tárolása költségesebb, mint az adatok tárolása az Azure storage-ban, mert a számítási fürt költsége nagyobb, mint az Azure storage költsége.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. Ezenkívül mivel az adatokat nem kell újból betölteni minden számítási fürt létrehozásakor, az adatbetöltési költségeket is megtakaríthatja.In addition, because the data does not have to be reloaded for every compute cluster generation, you are also saving data loading costs.

  • Rugalmas kibővítés: Bár a HDFS kibővített fájlrendszert biztosít, a méretezési csoport, amely a fürthöz létrehozott csomópontok száma határozza meg.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. A lépték módosítása bonyolultabb folyamattá válhat, mintha az Azure Blob Storage tárolóban automatikusan elérhető rugalmas léptékezési képességekre támaszkodna.Changing the scale can become a more complicated process than relying on the elastic scaling capabilities that you get automatically in Azure storage.

  • Georeplikáció: Az Azure storage georeplikált is lehet.Geo-replication: Your Azure storage can be geo-replicated. Bár ez földrajzi helyreállítást és adatredundanciát biztosít, a georeplikált helyre végzett feladatátvétel súlyos hatással van a teljesítményre, és további költségekkel járhat.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. Így azt javasoljuk, hogy válassza körültekintően a georeplikációt, és csak akkor, ha az adatok megérik a további költségeket.So our recommendation is to choose the geo-replication wisely and only if the value of the data is worth the additional cost.

Bizonyos MapReduce-feladatok és csomagok olyan köztes eredményeket hozhatnak létre, amelyeket nem érdemes az Azure Blob Storage tárolóban tárolni.Certain MapReduce jobs and packages may create intermediate results that you don't really want to store in Azure storage. Ebben az esetben a helyi HDFS-ben is tárolhatja az adatokat.In that case, you can elect to store the data in the local HDFS. Valójában a HDInsight a DFS-t használja több ilyen köztes eredményhez a Hive-feladatokban és egyéb folyamatokban.In fact, HDInsight uses DFS for several of these intermediate results in Hive jobs and other processes.

Megjegyzés

A legtöbb HDFS parancs (például ls, copyFromLocal és mkdir) továbbra is a várt módon működik.Most HDFS commands (for example, ls, copyFromLocal and mkdir) still work as expected. Csak azok a parancsok, mint például a natív HDFS implementációra (más nevezzük az elosztott Fájlrendszerbeli), jellemző fschk és dfsadmin, eltérő viselkedéssel megjelenítése az Azure storage-ban.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.

Az Azure Storage tárolóban található címfájlokAddress files in Azure storage

Az Azure Storage tárolóban a HDInsight eszközről végzett fájlelérés URI sémája a következő:The URI scheme for accessing files in Azure storage from HDInsight is:

wasb://<BlobStorageContainerName>@<StorageAccountName>.blob.core.windows.net/<path>

Az URI séma titkosítatlan hozzáférést (a wasb: előtaggal) és SSL titkosított hozzáférést (a wasbs előtaggal) biztosít.The URI scheme provides unencrypted access (with the wasb: prefix) and SSL encrypted access (with wasbs). Ajánlott a wasbs előtagot használnia, amikor lehetséges, még akkor is, amikor az Azure-ban ugyanabban a régióban lévő adatokat éri el.We recommend using wasbs wherever possible, even when accessing data that lives inside the same region in Azure.

A <BlobStorageContainerName> azonosítja az Azure BLOB storage a blob-tároló nevét.The <BlobStorageContainerName> identifies the name of the blob container in Azure storage. A <StorageAccountName> azonosítja az Azure Storage-fiók nevét.The <StorageAccountName> identifies the Azure Storage account name. Szükség van a teljes tartománynévre (FQDN-re).A fully qualified domain name (FQDN) is required.

Ha sem <BlobStorageContainerName> sem <StorageAccountName> lett megadva, az alapértelmezett fájlrendszer szolgál.If neither <BlobStorageContainerName> nor <StorageAccountName> has been specified, the default file system is used. Az alapértelmezett fájlrendszeren tárolt fájlok esetén relatív elérési utat vagy abszolút elérési utat használhat.For the files on the default file system, you can use a relative path or an absolute path. A HDInsight-fürtökben lévő hadoop-mapreduce-examples.jar fájlra például a következők egyikével lehet hivatkozni: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

Megjegyzés

A Fájlnév hadoop-examples.jar HDInsight 2.1-es és 1.6-os verziójának fürtökben.The file name is hadoop-examples.jar in HDInsight versions 2.1 and 1.6 clusters.

Az elérési út a fájl vagy könyvtár HDFS elérési útja.The path is the file or directory HDFS path name. Mivel az Azure BLOB storage tárolók kulcs-érték tárolók, nincs valós hierarchikus fájlrendszer.Because containers in Azure storage are key-value stores, there is no true hierarchical file system. A blob kulcson belüli perjel karaktert ( / ) a rendszer könyvtárelválasztóként értelmezi.A slash character ( / ) inside a blob key is interpreted as a directory separator. A hadoop-mapreduce-examples.jar blobneve például a következő:For example, the blob name for hadoop-mapreduce-examples.jar is:

example/jars/hadoop-mapreduce-examples.jar

Megjegyzés

Amikor a HDInsight eszközön kívüli blobokkal dolgozik, a legtöbb segédprogram nem ismeri fel a WASB formátumot, és ehelyett alapvető elérési út formátumot vár, például a következőt: 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.

BLOB-tárolókBlob containers

Blobok használatához először hozzon létre egy Azure Storage-fiók.To use blobs, you first create an Azure Storage account. Ennek részeként meg kell adnia egy Azure-régiót, amelyben a tárfiók létrejön.As part of this, you specify an Azure region where the storage account is created. A fürtnek és a tárfióknak ugyanabban a régióban kell lennie.The cluster and the storage account must be hosted in the same region. A Hive-metaadattár SQL Server-adatbázis és az Apache Oozie-metaadattár SQL Server-adatbázis található ugyanabban a régióban is kell.The Hive metastore SQL Server database and Apache Oozie metastore SQL Server database must also be located in the same region.

Akárhol él, mindegyik létrehozott blob az Azure Storage-fiókban lévő tárolóhoz tartozik.Wherever it lives, each blob you create belongs to a container in your Azure Storage account. Ez a tároló egy már létező, a HDInsight eszközön kívül létrejövő blob vagy egy HDInsight-fürthöz létrehozott tároló lehet.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.

Az alapértelmezett Blob-tároló a fürtre jellemző információkat, például a feladatelőzményeket és a naplókat tárolja.The default Blob container stores cluster-specific information such as job history and logs. Ne osszon meg alapértelmezett Blob tárolókat több HDInsight-fürttel.Don't share a default Blob container with multiple HDInsight clusters. Ez károsíthatja a feladatelőzményeket.This might corrupt job history. Ajánlott különböző tárolót használni mindegyik fürthöz és a megosztott adatokat az összes kapcsolódó fürt üzemelő példányában meghatározott kapcsolt tárfiókra helyezni az alapértelmezett tárfiók helyett.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. A kapcsolt tárfiókok konfigurálásáról további információkért lásd: létre HDInsight-fürtök.For more information on configuring linked storage accounts, see Create HDInsight clusters. De újból felhasználhatja az alapértelmezett tárolókat az eredeti HDInsight fürt törlése után.However you can reuse a default storage container after the original HDInsight cluster has been deleted. Az HBase fürtök esetén megőrizheti az HBase táblasémát és adatokat, ha létrehoz egy új HBase-fürtöt a törölt HBase-fürt által használt alapértelmezett blobtárolóval.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.

Megjegyzés

A funkció, amely biztonságos átvitel szükséges érvényesíti az összes kérés biztonságos kapcsolaton keresztül a fiókjához.The feature that requires secure transfer enforces all requests to your account through a secure connection. Csak HDInsight-fürt 3.6-os verzióját vagy újabb támogatja ezt a szolgáltatást.Only HDInsight cluster version 3.6 or newer supports this feature. További információkért lásd: létrehozása az Apache Hadoop-fürt az Azure HDInsight biztonságos átvitelű tárfiókokkal rendelkező.For more information, see Create Apache Hadoop cluster with secure transfer storage accounts in Azure HDInsight.

Az Azure storage használataInteracting with Azure storage

A következő eszközök az Azure Storage használatához a Microsoft biztosítja:Microsoft provides the following tools to work with Azure Storage:

EszközTool LinuxLinux OS XOS X WindowsWindows
Azure PortalAzure portal
Azure CLIAzure CLI
Azure PowerShellAzure PowerShell
AzCopyAzCopy

További tárfiókok használataUse additional storage accounts

HDInsight-fürt létrehozásakor meg kell adnia azt az Azure Storage-fiókot, amelyet a fürthöz társítani kívánja.While creating an HDInsight cluster, you specify the Azure Storage account you want to associate with it. Ezen a tárfiókon kívül további tárfiókokat vehet fel ugyanabból az Azure-előfizetésből vagy más Azure-előfizetésekből a létrehozási folyamat során vagy a fürt létrehozása után.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. Útmutatás további tárfiókok hozzáadásához: HDInsight-fürtök létrehozása.For instructions about adding additional storage accounts, see Create HDInsight clusters.

Figyelmeztetés

A rendszer nem támogatja további tárfiókok használatát a HDInsight-fürtön kívül eső helyeken.Using an additional storage account in a different location than the HDInsight cluster is not supported.

További lépésekNext steps

Ebből a cikkből megtanulta, hogyan használhat HDFS-kompatibilis Azure-tárolót a HDInsighttal.In this article, you learned how to use HDFS-compatible Azure storage with HDInsight. Ez lehetővé teszi a skálázható, hosszú távú adatarchiváló beszerzési megoldások kiépítését, valamint hogy a HDInsighttal kinyerje a strukturált és strukturálatlan tárolt adatokban lévő információkat.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.

További információkért lásd:For more information, see: