Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A DistCp használatával adatokat másolhat egy általános célú V2-tárfiók és egy általános célú V2-tárfiók között, amelyen engedélyezve van a hierarchikus névtér. Ez a cikk útmutatást nyújt a DistCp eszköz használatához.
A DistCp különböző parancssori paramétereket biztosít, és határozottan javasoljuk, hogy olvassa el ezt a cikket a használat optimalizálása érdekében. Ez a cikk az alapvető funkciókat mutatja be, miközben az adatok hierarchikus névtér-kompatibilis fiókba való másolására összpontosít.
Előfeltételek
- Azure-előfizetés. További információ: Ingyenes Azure-próbaidőszak lekérése.
- Egy meglévő Azure Storage-fiók, amely nem rendelkezik engedélyezve Data Lake Storage-képességekkel (hierarchikus névtér).
- Egy Azure Storage-fiók, amelyen engedélyezve vannak a Data Lake Storage képességei (hierarchikus névtér). Az azure storage-fiók létrehozásával kapcsolatos utasításokért lásd: Azure Storage-fiók létrehozása
- A tárfiókban létrehozott tároló, amelyen engedélyezve van a hierarchikus névtér.
- Egy Azure HDInsight-fürt, amely hozzáféréssel rendelkezik egy olyan tárfiókhoz, amelyben engedélyezve van a hierarchikus névtér funkció. További információ: Az Azure Data Lake Storage használata Azure HDInsight-fürtökkel. Győződjön meg arról, hogy engedélyezi a távoli asztalt a fürthöz.
A DistCp használata HDInsight Linux-fürtből
A DistCp segédprogram, amely egy HDInsight-fürthöz tartozik, lehetővé teszi különböző forrásokból adatokat másolni egy HDInsight-fürtbe. Ha úgy konfigurálta a HDInsight-fürtöt, hogy egyszerre használja az Azure Blob Storage-t és az Azure Data Lake Storage-t, akkor a DistCp segédprogram közvetlenül használható az adatok másolására is. Ebben a szakaszban a DistCp segédprogram használatát vizsgáljuk meg.
Hozzon létre egy SSH-munkamenetet a HDInsight-fürtön. További információért lásd: Csatlakozás Linux-alapú HDInsight klaszterhez.
Ellenőrizze, hogy hozzáfér-e a meglévő általános célú V2-fiókhoz (nincs-e engedélyezve hierarchikus névtér).
hdfs dfs -ls wasbs://<container-name>@<storage-account-name>.blob.core.windows.net/A kimenetnek meg kell adnia a tároló tartalmának listáját.
Hasonlóképpen ellenőrizze, hogy hozzáfér-e a tárfiókhoz a fürtről engedélyezett hierarchikus névtérrel. Futtassa az alábbi parancsot:
hdfs dfs -ls abfss://<container-name>@<storage-account-name>.dfs.core.windows.net/A kimenetnek meg kell adnia a Data Lake Storage-fiók fájljainak/mappáinak listáját.
A DistCp használatával adatokat másolhat a Windows Azure Storage Blobból (WASB) egy Data Lake Storage-fiókba.
hadoop distcp wasbs://<container-name>@<storage-account-name>.blob.core.windows.net/example/data/gutenberg abfss://<container-name>@<storage-account-name>.dfs.core.windows.net/myfolderA parancs a Blob Storage /example/data/gutenberg/ mappájának tartalmát a Data Lake Storage-fiók /myfolder mappájába másolja.
Hasonlóképpen, a DistCp használatával adatokat másolhat a Data Lake Storage-fiókból a Blob Storage-ba (WASB).
hadoop distcp abfss://<container-name>@<storage-account-name>.dfs.core.windows.net/myfolder wasbs://<container-name>@<storage-account-name>.blob.core.windows.net/example/data/gutenbergA parancs a Data Lake Store-fiókban lévő /myfolder tartalmát a WASB /example/data/gutenberg/ mappájába másolja.
Teljesítménnyel kapcsolatos szempontok a DistCp használata során
Mivel a DistCp legalacsonyabb részletessége egyetlen fájl, az egyidejű példányok maximális számának beállítása a legfontosabb paraméter a Data Lake Storage-hoz való optimalizálásához. Az egyidejű másolatok száma megegyezik a parancssorban található mappers (m) paraméter számával. Ez a paraméter határozza meg az adatok másolásához használt leképezők maximális számát. Az alapértelmezett érték 20.
Példa
hadoop distcp -m 100 wasbs://<container-name>@<storage-account-name>.blob.core.windows.net/example/data/gutenberg abfss://<container-name>@<storage-account-name>.dfs.core.windows.net/myfolder
Hogyan határozza meg a használni kívánt leképezők számát?
Az alábbiakban olvashat némi útmutatást ezzel kapcsolatban.
1. lépés: Határozza meg az "alapértelmezett" YARN-alkalmazássor számára elérhető teljes memóriát – Az első lépés az "alapértelmezett" YARN-alkalmazássor számára elérhető memória meghatározása. Ezek az információk a klászterhez társított Ambari portálon érhetők el. Lépjen a YARN-ra, és tekintse meg a Konfigurációk lapot az "alapértelmezett" alkalmazás üzenetsorában elérhető YARN-memória megtekintéséhez. Ez a Teljes rendelkezésre álló memória a DistCp-feladathoz (ami valójában egy MapReduce-feladat).
2. lépés: A leképezők számának kiszámítása – Az m értéke megegyezik a YARN-tároló méretével osztva a TELJES YARN-memória hányadosával. A YARN-tároló méretadatai az Ambari portálon is elérhetők. Lépjen a YARN lapra, és tekintse meg a Konfigurációk lapot. Ebben az ablakban megjelenik a YARN-tároló mérete. A mapperek számának (m) eléréséhez szükséges egyenlet a következő:
m = (csomópontok száma * YARN memória minden csomóponthoz) / YARN-tároló mérete
Példa
Tegyük fel, hogy 4x D14v2s-fürtje van, és 10 TB adatot próbál átvinni 10 különböző mappából. Minden mappa különböző mennyiségű adatot tartalmaz, és az egyes mappákban lévő fájlméretek eltérőek.
Teljes YARN-memória: Az Ambari portálon megállapíthatja, hogy a YARN memória 96 GB egy D14-csomóponthoz. Így négy csomópontfürt teljes YARN-memóriája a következő:
YARN memória = 4 * 96 GB = 384 GB
Leképezők száma: Az Ambari portálon megállapíthatja, hogy a YARN-tároló mérete 3072 MB egy D14-fürtcsomópont esetében. A mapperek száma tehát a következő:
m = (négy csomópont * 96 GB) / 3072 MB = 128 mappers
Ha más alkalmazások memóriát használnak, akkor dönthet úgy, hogy a fürt YARN-memóriájának csak egy részét használja a DistCp-hez.
Nagy adathalmazok másolása
Ha az áthelyezendő adathalmaz mérete nagy (például >1 TB), vagy ha sok különböző mappával rendelkezik, érdemes lehet több DistCp-feladatot használnia. Valószínűleg nincs teljesítménynövekedés, de szétterjed a feladatok között, így ha valamelyik feladat meghiúsul, csak az adott feladatot kell újraindítania a teljes feladat helyett.
Korlátozások
A DistCp a teljesítmény optimalizálásához hasonló méretű térképezőket próbál létrehozni. Előfordulhat, hogy a leképezők számának növelése nem mindig növeli a teljesítményt.
A DistCp fájlonként csak egy leképezőre korlátozódik. Ezért ne legyen több leképező, mint amennyi fájl van. Mivel a DistCp csak egy leképezőt tud hozzárendelni egy fájlhoz, ez korlátozza a nagy méretű fájlok másolásához használható egyidejűség mennyiségét.
Ha van néhány nagy fájlja, akkor 256 MB-os fájltömbökre kell felosztani őket, hogy több lehetséges egyidejűséget biztosítson.