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.
- cURL – webalapú szolgáltatásokkal való kommunikációra szolgál.
- jq, egy parancssori JSON-processzor. Lásd: https://stedolan.github.io/jq/.
- Azure CLI – Az Azure-szolgáltatások távoli kezelésére szolgál.
- Egy SSH-ügyfél. További információért lásd: Csatlakozás a HDInsighthoz (Apache Hadoop) SSH-val.
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 /HdiSamples
helyen/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:
Az Azure Portalon válassza ki a HDInsight-fürtöt.
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ületaz 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:
- Webböngésző
- PowerShell
- Azure CLI
- WebHDFS REST API
- Data Lake Tools for Visual Studio
- .NET
- Java
- Python
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.