Információk a HDInsight Linuxon való használatáról

Az Azure HDInsight-fürtök egy jól ismert Linux-környezetben biztosítják az Apache Hadoopot, amely az Azure-felhőben fut. A legtöbb esetben pontosan úgy kell működnie, mint bármely más Hadoop-on-Linux telepítés. Ez a dokumentum konkrét különbségeket hív fel, amelyekről tisztában kell lennie.

Előfeltételek

A dokumentum számos lépése a következő segédprogramokat használja, amelyeket esetleg telepíteni kell a rendszerre.

Felhasználók

Ha nem csatlakozik tartományhoz, a HDInsightot egyfelhasználós rendszernek kell tekinteni. A fürttel egyetlen SSH-felhasználói fiók jön létre rendszergazdai szintű engedélyekkel. További SSH-fiókok hozhatók létre, de rendszergazdai hozzáféréssel is rendelkeznek a fürthöz.

A tartományhoz csatlakoztatott HDInsight több felhasználót és részletesebb engedélyeket és szerepkör-beállításokat támogat. További információ: Tartományhoz csatlakoztatott HDInsight-fürtök kezelése.

Tartománynevek

Az internetről CLUSTERNAME.azurehdinsight.net a fürthöz való csatlakozáshoz használt teljes tartománynév (FQDN) vagy CLUSTERNAME-ssh.azurehdinsight.net (csak SSH esetén).

Belsőleg a fürt minden csomópontja rendelkezik egy névvel, amely a fürtkonfiguráció során van hozzárendelve. A fürtnevek megkereséséhez tekintse meg az Ambari webes felhasználói felületén található Gazdagépek lapot. Az alábbiak segítségével az Ambari REST API-ból is visszaadhatja a gazdagépek listáját:

curl -u admin -G "https://CLUSTERNAME.azurehdinsight.net/api/v1/clusters/CLUSTERNAME/hosts" | jq '.items[].Hosts.host_name'

Cserélje le a CLUSTERNAME elemet a fürt nevére. Amikor a rendszer kéri, adja meg a rendszergazdai fiók jelszavát. Ez a parancs egy JSON-dokumentumot ad vissza, amely tartalmazza a fürt gazdagépeinek listáját. A jq az egyes gazdagépek elemértékének host_name kinyerésére szolgál.

Ha meg kell keresnie egy adott szolgáltatás csomópontjának nevét, lekérdezheti az Ambarit az adott összetevőhöz. A HDFS-névcsomópont gazdagépeinek megkereséséhez például használja a következő parancsot:

curl -u admin -G "https://CLUSTERNAME.azurehdinsight.net/api/v1/clusters/CLUSTERNAME/services/HDFS/components/NAMENODE" | jq '.host_components[].HostRoles.host_name'

Ez a parancs egy, a szolgáltatást leíró JSON-dokumentumot ad vissza, majd a jq csak a host_name gazdagépek értékét húzza ki.

Távoli hozzáférés a szolgáltatásokhoz

  • Ambari (web) - https://CLUSTERNAME.azurehdinsight.net

    Hitelesítés a fürt rendszergazdai felhasználójával és jelszavával, majd jelentkezzen be az Ambariba.

    A hitelesítés egyszerű szöveg – mindig HTTPS használatával biztosíthatja a kapcsolat biztonságossá tételét.

    Fontos

    Az Ambari hozzáférési csomópontokon keresztül elérhető webes felhasználói felületek egy része belső tartománynévvel. A belső tartománynevek nem érhetők el nyilvánosan az interneten keresztül. Előfordulhat, hogy a "kiszolgáló nem található" hibaüzenet jelenik meg, amikor megpróbál hozzáférni bizonyos szolgáltatásokhoz az interneten keresztül.

    Az Ambari webes felhasználói felületének teljes funkcionalitásának használatához használjon egy SSH-alagutat a fürtfőcsomópont webes forgalmának proxyzásához. Lásd: Apache Ambari webes felhasználói felület, ResourceManager, JobHistory, NameNode, Oozie és egyéb webes felhasználói felületek elérése SSH-bújtatással

  • Ambari (REST) - https://CLUSTERNAME.azurehdinsight.net/ambari

    Megjegyzés:

    Hitelesítés a fürtadminisztrátor felhasználójával és jelszavával.

    A hitelesítés egyszerű szöveg – mindig HTTPS használatával biztosíthatja a kapcsolat biztonságossá tételét.

  • WebHCat (Templeton) - https://CLUSTERNAME.azurehdinsight.net/templeton

    Megjegyzés:

    Hitelesítés a fürtadminisztrátor felhasználójával és jelszavával.

    A hitelesítés egyszerű szöveg – mindig HTTPS használatával biztosíthatja a kapcsolat biztonságossá tételét.

  • SSH – CLUSTERNAME-ssh.azurehdinsight.net a 22- vagy 23-ai porton. A 22-s port az elsődleges átjárócsomóponthoz való csatlakozásra szolgál, míg a 23-at a másodlagoshoz való csatlakozásra. További információ a fő csomópontokról: Apache Hadoop-fürtök rendelkezésre állása és megbízhatósága a HDInsightban.

    Megjegyzés:

    A fürtfőcsomópontok csak SSH-n keresztül érhetők el egy ügyfélszámítógépről. A csatlakozás után az SSH használatával elérheti a feldolgozó csomópontokat egy átjárócsomópontról.

További információ: Az Apache Hadoop-szolgáltatások által a HDInsight-dokumentumon használt portok.

Fájlhelyek

A Hadooptal kapcsolatos fájlok a fürtcsomópontokon találhatók a következő helyen /usr/hdp: . Ez a könyvtár a következő alkönyvtárakat tartalmazza:

  • 2.6.5.3009-43: A címtár neve a HDInsight által használt Hadoop platform verziója. A fürtön lévő szám eltérhet az itt felsoroltaktól.
  • aktuális: Ez a könyvtár a 2.6.5.3009-43 könyvtár alatti alkönyvtárakra mutató hivatkozásokat tartalmaz. Ez a könyvtár azért létezik, hogy ne kelljen emlékeznie a verziószámra.

Példaadatok és JAR-fájlok találhatók a Hadoop Elosztott fájlrendszerben a következő helyen és /HdiSampleshelyen/example: .

HDFS, Azure Storage és Data Lake Storage

A Legtöbb Hadoop-disztribúcióban az adatok HDFS-ben tárolódnak. A HDFS-t a fürt gépein lévő helyi tárolók biztosítják. A helyi tároló használata költséges lehet egy felhőalapú megoldás esetében, ahol óránként vagy percenként kell fizetnie a számítási erőforrásokért.

A HDInsight használatakor az adatfájlok adaptálható és rugalmas módon lesznek tárolva a felhőben az Azure Blob Storage és opcionálisan az Azure Data Lake Storage Gen1/Gen2 használatával. Ezek a szolgáltatások a következő előnyöket biztosítják:

  • Olcsó hosszú távú tárolás.
  • Külső szolgáltatások, például webhelyek, fájlfeltöltési/letöltési segédprogramok, különböző nyelvi SDK-k és webböngészők akadálymentessége.
  • Nagy fájlkapacitás és nagy, adaptálható tároló.

További információ: Azure Blob Storage, Azure Data Lake Storage Gen1 vagy Azure Data Lake Storage Gen2.

Az Azure Blob Storage vagy a Data Lake Storage Gen1/Gen2 használatakor nem kell a HDInsighttól semmilyen különlegeset tennie az adatok eléréséhez. Az alábbi parancs például felsorolja a /example/data mappában lévő fájlokat, függetlenül attól, hogy az Azure Storage-ban vagy a Data Lake Storage-ban van-e tárolva:

hdfs dfs -ls /example/data

A HDInsightban az adattárolási erőforrások (Az Azure Blob Storage és az Azure Data Lake Storage) elválasztva vannak a számítási erőforrásoktól. Igény szerint létrehozhat HDInsight-fürtöket, és később törölheti a fürtöt, amikor a munka befejeződött. Addig is, amíg szükség van rá, az adatfájlok biztonságosan megmaradnak a felhőbeli tárolóban.

URI és séma

Egyes parancsok megkövetelhetik, hogy az URI részeként adja meg a sémát egy fájl elérésekor. Ha nem alapértelmezett tárolót használ (a fürthöz "további" tárolóként hozzáadott tárolót), a sémát mindig az URI részeként kell használnia.

Az Azure Storage használatakor használja az alábbi URI-sémák egyikét:

  • wasb:///: Az alapértelmezett tároló elérése titkosítatlan kommunikációval.

  • wasbs:///: Az alapértelmezett tároló elérése titkosított kommunikációval. A wasbs séma csak a HDInsight 3.6-os verziójától támogatott.

  • wasb://<container-name>@<account-name>.blob.core.windows.net/: Nem alapértelmezett tárfiókkal való kommunikációhoz használatos. Ha például egy további tárfiókkal rendelkezik, vagy amikor egy nyilvánosan elérhető tárfiókban tárolt adatokhoz fér hozzá.

Az Azure Data Lake Storage Gen2 használatakor használja a következő URI-sémát:

  • abfs://: Az alapértelmezett tároló elérése titkosított kommunikációval.

  • abfs://<container-name>@<account-name>.dfs.core.windows.net/: Nem alapértelmezett tárfiókkal való kommunikációhoz használatos. Ha például egy további tárfiókkal rendelkezik, vagy amikor egy nyilvánosan elérhető tárfiókban tárolt adatokhoz fér hozzá.

Az Azure Data Lake Storage Gen1 használatakor használja az alábbi URI-sémák egyikét:

  • adl:///: A fürt alapértelmezett Data Lake Storage-tárolójának elérése.

  • adl://<storage-name>.azuredatalakestore.net/: Nem alapértelmezett Data Lake Storage-tárterülettel való kommunikációhoz használatos. A HDInsight-fürt gyökérkönyvtárán kívüli adatok eléréséhez is használható.

Fontos

Ha a Data Lake Storage-t használja a HDInsight alapértelmezett tárolójaként, meg kell adnia egy elérési utat az áruházon belül, amelyet a HDInsight-tároló gyökerének kell használnia. Az alapértelmezett elérési út a következő /clusters/<cluster-name>/.

Az adatok használatakor / vagy adl:/// elérésekor csak a fürt gyökérkönyvtárában (például /clusters/<cluster-name>/) tárolt adatokhoz férhet hozzá. Ha az adatokhoz az áruház bármely pontján hozzá szeretne férni, használja a adl://<storage-name>.azuredatalakestore.net/ formátumot.

Milyen tárolót használ a fürt?

Az Ambari használatával lekérheti a fürt alapértelmezett tárolási konfigurációját. Az alábbi paranccsal kérje le a HDFS konfigurációs adatait a curl használatával, és szűrje a jq használatával:

curl -u admin -G "https://CLUSTERNAME.azurehdinsight.net/api/v1/clusters/CLUSTERNAME/configurations/service_config_versions?service_name=HDFS&service_config_version=1" | jq '.items[].configurations[].properties["fs.defaultFS"] | select(. != null)'

Megjegyzés:

Ez a parancs a kiszolgálóra (service_config_version=1) alkalmazott első konfigurációt adja vissza, amely tartalmazza ezt az információt. Előfordulhat, hogy az összes konfigurációs verziót fel kell sorolnia a legújabb verzió megtalálásához.

Ez a parancs a következő URI-khoz hasonló értéket ad vissza:

  • wasb://<container-name>@<account-name>.blob.core.windows.net Azure Storage-fiók használata esetén.

    A fiók neve az Azure Storage-fiók neve. A tároló neve a fürttároló gyökerét képező blobtároló.

  • adl://home az Azure Data Lake Storage használata esetén. A Data Lake Storage nevének lekéréséhez használja a következő REST-hívást:

    curl -u admin -G "https://CLUSTERNAME.azurehdinsight.net/api/v1/clusters/CLUSTERNAME/configurations/service_config_versions?service_name=HDFS&service_config_version=1" | jq '.items[].configurations[].properties["dfs.adls.home.hostname"] | select(. != null)'
    

    Ez a parancs a következő állomásnevet adja vissza: <data-lake-store-account-name>.azuredatalakestore.net.

    A HDInsight gyökérkönyvtárának beszerzéséhez használja a következő REST-hívást:

    curl -u admin -G "https://CLUSTERNAME.azurehdinsight.net/api/v1/clusters/CLUSTERNAME/configurations/service_config_versions?service_name=HDFS&service_config_version=1" | jq '.items[].configurations[].properties["dfs.adls.home.mountpoint"] | select(. != null)'
    

    Ez a parancs a következő elérési úthoz hasonló elérési utat ad vissza: /clusters/<hdinsight-cluster-name>/.

A tárolási információkat az Azure Portalon is megtalálhatja az alábbi lépések végrehajtásával:

  1. Az Azure Portalon válassza ki a HDInsight-fürtöt.

  2. A Tulajdonságok szakaszban válassza a Tárfiókok lehetőséget. Megjelenik a fürt tárolási információi.

Hogyan HDInsighton kívüli fájlok elérése

A HDInsight-fürtön kívülről különböző módokon érheti el az adatokat. Az alábbiakban néhány hivatkozás található az adatok kezeléséhez használható segédprogramokra és SDK-kra:

Az Azure Blob Storage használata esetén az alábbi hivatkozásokon keresztül érheti el az adatokat:

  • Azure CLI: Parancssori felületi parancsok az Azure-ral való munkához. A telepítés után a parancs segítségével segítséget kaphat a az storage tárterület az storage blob vagy a blobspecifikus parancsok használatához.

  • blobxfer.py: Python-szkript a blobok Azure Storage-ban való használatához.

  • Különböző SDK-k:

Ha az Azure Data Lake Storage Gen1-et használja, az alábbi hivatkozásokon keresztül érheti el az adatokat:

A fürt skálázása

A fürtméretezési funkció lehetővé teszi a fürt által használt adatcsomópontok számának dinamikus módosítását. Skálázási műveleteket végezhet, miközben más feladatok vagy folyamatok futnak egy fürtön. Lásd: HDInsight-fürtök méretezése

Hogyan telepítse a Hue-t (vagy más Hadoop-összetevőt)?

A HDInsight egy felügyelt szolgáltatás. Ha az Azure hibát észlel a fürttel kapcsolatban, törölheti a hibás csomópontot, és létrehozhat egy csomópontot a lecseréléséhez. Amikor manuálisan telepíti a műveletet a fürtre, azok nem maradnak meg a művelet végrehajtásakor. Ehelyett használja a HDInsight szkriptműveleteket. A szkriptművelettel a következő módosításokat hajthatja végre:

  • Szolgáltatás vagy webhely telepítése és konfigurálása.
  • Telepítse és konfigurálja azt az összetevőt, amely konfigurációs módosításokat igényel a fürt több csomópontján.

A szkriptműveletek Bash-szkriptek. A szkriptek a fürt létrehozása során futnak, és további összetevők telepítésére és konfigurálására szolgálnak. Az egyéni parancsfájlművelet-fejlesztéssel kapcsolatos további információkért lásd: Script Action development with HDInsight (Parancsfájlműveletek fejlesztése a HDInsighttal).

Jar-fájlok

Egyes Hadoop-technológiák önálló jar-fájlokat biztosítanak. Ezek a fájlok a MapReduce-feladat részeként vagy a Pig vagy a Hive fájlban használt függvényeket tartalmaznak. Ezek gyakran nem igényelnek semmilyen beállítást, és a létrehozás után feltölthetők a fürtbe, és közvetlenül használhatók. Ha meg szeretné győződni arról, hogy az összetevő túléli a fürt újraimálását, tárolja a jar-fájlt a fürt alapértelmezett tárolójában.

Ha például az Apache DataFu legújabb verzióját szeretné használni, letöltheti a projektet tartalmazó jart, és feltöltheti a HDInsight-fürtbe. Ezután kövesse a DataFu dokumentációját a Pig vagy a Hive használatával kapcsolatban.

Fontos

Egyes különálló jar-fájlokat tartalmazó összetevők a HDInsighttal vannak ellátva, de nem szerepelnek az elérési úton. Ha egy adott összetevőt keres, az alábbi módon keresheti meg a fürtön:

find / -name *componentname*.jar 2>/dev/null

Ez a parancs visszaadja az egyező jar-fájlok elérési útját.

Egy összetevő másik verziójának használatához töltse fel a szükséges verziót, és használja a feladatokban.

Fontos

A HDInsight-fürthöz biztosított összetevők teljes mértékben támogatottak, és Microsoft ügyfélszolgálata segítenek az összetevőkkel kapcsolatos problémák elkülönítésében és megoldásában.

Az egyéni összetevők kereskedelmi szempontból ésszerű támogatást kapnak a probléma további megoldásához. Ez a probléma megoldásához vezethet, vagy megkérheti Önt, hogy vegye fel a kapcsolatot az nyílt forráskód technológiák elérhető csatornáival, ahol a technológia terén mély szakértelem található. Például számos közösségi webhely használható, például: Microsoft Q&A kérdésoldal a HDInsighthoz, https://stackoverflow.com. Az Apache-projektek projektwebhelyei https://apache.orgis vannak, például: Hadoop, Spark.

További lépések