Megosztás a következőn keresztül:


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

    Feljegyzé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

    Feljegyzé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.

    Feljegyzé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 rugalmasan és rugalmasan tárolhatók a felhőben az Azure Blob Storage és opcionálisan az Azure Data Lake Storage 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 vagy Azure Data Lake Storage Gen2.

Az Azure Blob Storage vagy a Data Lake Storage Gen2 használatakor nem kell a HDInsighttól bármi 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 kifogástalan tárolást 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/: Nemdefault 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/: Nemdefault 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á.

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)'

Feljegyzé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.

Következő lépések