Azure HDInsight-fürtök manuális méretezése
A HDInsight rugalmasságot biztosít a fürtökben lévő feldolgozó csomópontok számának vertikális felskálázásához és leskálázásához. Ez a rugalmasság lehetővé teszi a fürtök órák vagy hétvégek utáni zsugorítását. És bontsa ki a csúcs üzleti igények során.
A fürt vertikális felskálázása rendszeres kötegelt feldolgozás előtt, hogy a fürt megfelelő erőforrásokkal rendelkezik. A feldolgozás befejezése és a használat leállása után skálázza le a HDInsight-fürtöt kevesebb munkavégző csomópontra.
A fürtöt manuálisan skálázhatja az alábbi módszerek egyikével. Az automatikus skálázási beállításokkal automatikusan fel- és leskálázhat bizonyos metrikákra válaszul.
Feljegyzés
Csak a HDInsight 3.1.3-s vagy újabb verziójával rendelkező fürtök támogatottak. Ha nem biztos a fürt verziójában, ellenőrizze a Tulajdonságok lapot.
Fürtméretezéshez kapcsolódó segédprogramok
A Microsoft a következő segédprogramokat biztosítja a fürtök méretezéséhez:
Segédprogram | Leírás |
---|---|
PowerShell Az | Set-AzHDInsightClusterSize -ClusterName CLUSTERNAME -TargetInstanceCount NEWSIZE |
PowerShell AzureRM | Set-AzureRmHDInsightClusterSize -ClusterName CLUSTERNAME -TargetInstanceCount NEWSIZE |
Azure CLI | az hdinsight resize --resource-group RESOURCEGROUP --name CLUSTERNAME --workernode-count NEWSIZE |
Klasszikus Azure CLI | azure hdinsight cluster resize CLUSTERNAME NEWSIZE |
Azure Portalra | Nyissa meg a HDInsight-fürtpanelt, válassza a fürtméretet a bal oldali menüben, majd a Fürtméret panelen írja be a feldolgozó csomópontok számát, és válassza a Mentés lehetőséget. |
Ezen módszerek bármelyikével percek alatt fel- vagy leskálázhatja a HDInsight-fürtöt.
Fontos
- A klasszikus Azure CLI elavult, és csak a klasszikus üzemi modellel használható. Minden más üzemelő példányhoz használja az Azure CLI-t.
- A PowerShell AzureRM modul elavult. Ha lehetséges, használja az Az modult .
A skálázási műveletek hatása
Ha csomópontokat ad hozzá a futó HDInsight-fürthöz (vertikális felskálázás), a feladatok nem változnak. A skálázási folyamat futtatása közben az új feladatok biztonságosan beküldhetők. Ha a skálázási művelet meghiúsul, a hiba funkcionális állapotba hagyja a fürtöt.
Ha eltávolítja a csomópontokat (leskálázás), a függőben lévő vagy a futó feladatok sikertelenek lesznek a skálázási művelet befejeződésekor. Ennek a hibának az az oka, hogy egyes szolgáltatások újraindulnak a skálázási folyamat során. Előfordulhat, hogy a fürt biztonságos módban elakad egy manuális skálázási művelet során.
Az adatcsomópontok számának módosítása a HDInsight által támogatott fürtök minden egyes típusára hatással van:
Apache Hadoop
Zökkenőmentesen növelheti a futó Hadoop-fürtök feldolgozó csomópontjainak számát anélkül, hogy bármilyen feladatra hatással lenne. Új feladatokat is elküldhet, amíg a művelet folyamatban van. A skálázási művelet hibáit a rendszer kecsesen kezeli. A fürt mindig működőképes állapotban marad.
Ha egy Hadoop-fürt kevesebb adatcsomóponttal van leskálázva, egyes szolgáltatások újraindulnak. Ez a viselkedés azt eredményezi, hogy a skálázási művelet befejezésekor az összes futó és függőben lévő feladat meghiúsul. A feladatokat azonban a művelet befejezése után is újra elküldheti.
Apache HBase
Futtatás közben zökkenőmentesen adhat hozzá vagy távolíthat el csomópontokat a HBase-fürthöz. A regionális kiszolgálók automatikusan egyensúlyba kerülnek a skálázási művelet befejezését követő néhány percen belül. Azonban manuálisan is kiegyensúlyozza a regionális kiszolgálókat. Jelentkezzen be a fürt átjárócsomópontjába, és futtassa a következő parancsokat:
pushd %HBASE_HOME%\bin hbase shell balancer
A HBase-rendszerhéj használatáról további információt az Apache HBase-példa HDInsightban való használatának első lépéseiben talál.
Feljegyzés
A Kafka-fürtök nem alkalmazhatók.
Apache Hive LLAP
A feldolgozó csomópontokra való skálázás
N
után a HDInsight automatikusan beállítja a következő konfigurációkat, és újraindítja a Hive-t.- Egyidejű lekérdezések maximális száma:
hive.server2.tez.sessions.per.default.queue = min(N, 32)
- A Hive LLAP által használt csomópontok száma:
num_llap_nodes = N
- A Hive LLAP démon futtatásához használt csomópont(ok) száma:
num_llap_nodes_for_llap_daemons = N
- Egyidejű lekérdezések maximális száma:
Fürt biztonságos leskálázása
Fürt vertikális leskálázása futó feladatokkal
Ha el szeretné kerülni, hogy a futó feladatok sikertelenek legyenek a vertikális leskálázási művelet során, háromféleképpen próbálkozhat:
- Várjon, amíg a feladatok befejeződnek, mielőtt leskálázhatja a fürtöt.
- Manuálisan fejezd be a feladatokat.
- A skálázási művelet befejeződése után küldje újra a feladatokat.
A függőben lévő és futó feladatok listájának megtekintéséhez használja a YARN Resource Manager felhasználói felületét az alábbi lépések végrehajtásával:
Az Azure Portalon válassza ki a fürtöt. A fürt egy új portállapon nyílik meg.
A fő nézetből lépjen a Fürt irányítópultok>Ambari kezdőlapjára. Adja meg a fürt hitelesítő adatait.
Az Ambari felhasználói felületén válassza a YARN elemet a bal oldali menü szolgáltatásainak listájában.
A YARN lapon válassza a Gyorshivatkozások lehetőséget, és vigye az egérmutatót az aktív fejcsomópont fölé, majd válassza a Resource Manager felhasználói felületét.
A Resource Manager felhasználói felületét közvetlenül a következővel https://<HDInsightClusterName>.azurehdinsight.net/yarnui/hn/cluster
érheti el: .
Megjelenik a feladatok listája az aktuális állapotukkal együtt. A képernyőképen jelenleg egy feladat fut:
A futó alkalmazás manuális futtatásához hajtsa végre a következő parancsot az SSH-rendszerhéjból:
yarn application -kill <application_id>
Példa:
yarn application -kill "application_1499348398273_0003"
Elakadás csökkentett módban
A fürtök vertikális leskálázásakor a HDInsight Apache Ambari felügyeleti felületeket használ a további feldolgozó csomópontok leszereléséhez. A csomópontok a HDFS-blokkokat más online feldolgozó csomópontokra replikálják. Ezután a HDInsight biztonságosan leskálázza a fürtöt. A HDFS csökkentett módban működik a skálázási művelet során. A HDFS-nek a skálázás befejezése után kell kijönnie. Bizonyos esetekben azonban a HDFS csökkentett módban elakad a skálázási művelet során a fájlblokkok alulreplikálása miatt.
Alapértelmezés szerint a HDFS 1 beállítással dfs.replication
van konfigurálva, amely szabályozza, hogy az egyes fájlblokkok hány példánya érhető el. A fájlblokkok minden példányát a fürt egy másik csomópontján tárolja a rendszer.
Ha a blokkmásolatok várt száma nem érhető el, a HDFS csökkentett módba lép, és az Ambari riasztásokat hoz létre. A HDFS csökkentett módba léphet a skálázási művelethez. A fürt elakadhat csökkentett módban, ha a szükséges számú csomópont nem észlelhető a replikációhoz.
Példák a csökkentett mód bekapcsolt állapotára
org.apache.hadoop.hdfs.server.namenode.SafeModeException: Cannot create directory /tmp/hive/hive/819c215c-6d87-4311-97c8-4f0b9d2adcf0. Name node is in safe mode.
org.apache.http.conn.HttpHostConnectException: Connect to active-headnode-name.servername.internal.cloudapp.net:10001 [active-headnode-name.servername. internal.cloudapp.net/1.1.1.1] failed: Connection refused
Áttekintheti a névcsomópont naplóit a /var/log/hadoop/hdfs/
mappából, a fürt méretezési idejének közelében, hogy lássa, mikor lépett be csökkentett módba. A naplófájlok neve Hadoop-hdfs-namenode-<active-headnode-name>.*
.
A kiváltó ok az volt, hogy a Hive a HDFS ideiglenes fájljaitól függ a lekérdezések futtatásakor. Amikor a HDFS csökkentett módba lép, a Hive nem tud lekérdezéseket futtatni, mert nem tud írni a HDFS-be. A HDFS ideiglenes fájljai az egyes feldolgozó csomópontok virtuális gépeihez csatlakoztatott helyi meghajtón találhatók. A fájlok replikálása a többi munkavégző csomópont között legalább három replikával.
A HDInsight elakadásának megakadályozása csökkentett módban
A HDInsightot többféleképpen is megakadályozhatja, hogy csökkentett módban maradjon:
- A HDInsight leskálázása előtt állítsa le az összes Hive-feladatot. Másik lehetőségként ütemezze a leskálázási folyamatot, hogy elkerülje a Hive-feladatok futtatásával való ütközést.
- A HDFS-ben manuálisan törölje a Hive üres
tmp
könyvtárfájljait, mielőtt leskálázható. - A HDInsightot csak három feldolgozó csomópontra skálázhatja le, minimálisan. Ne legyen olyan alacsony, mint egy feldolgozó csomópont.
- Futtassa a parancsot a csökkentett mód elhagyásához, ha szükséges.
A következő szakaszok ezeket a lehetőségeket ismertetik.
Az összes Hive-feladat leállítása
Állítsa le az összes Hive-feladatot, mielőtt leskáláz egy feldolgozó csomópontra. Ha a számítási feladat ütemezve van, akkor a Hive-munka befejezése után hajtsa végre a leskálázást.
A skálázás előtt állítsa le a Hive-feladatokat, így minimalizálhatja a tmp mappában lévő üres fájlok számát (ha vannak ilyenek).
A Hive karcos fájljainak manuális törlése
Ha a Hive ideiglenes fájlokat hagyott hátra, a csökkentett mód elkerülése érdekében manuálisan törölheti ezeket a fájlokat a leskálázás előtt.
A konfigurációs tulajdonság megtekintésével ellenőrizze, hogy melyik helyet használja a
hive.exec.scratchdir
Hive ideiglenes fájljaihoz. Ez a paraméter a következőn belül/etc/hive/conf/hive-site.xml
van beállítva:<property> <name>hive.exec.scratchdir</name> <value>hdfs://mycluster/tmp/hive</value> </property>
Állítsa le a Hive-szolgáltatásokat, és győződjön meg arról, hogy minden lekérdezés és feladat befejeződött.
Sorolja fel a fent található üres könyvtár tartalmát, és ellenőrizze,
hdfs://mycluster/tmp/hive/
hogy tartalmaz-e fájlokat:hadoop fs -ls -R hdfs://mycluster/tmp/hive/hive
Íme egy példakimenet, amikor a fájlok léteznek:
sshuser@scalin:~$ hadoop fs -ls -R hdfs://mycluster/tmp/hive/hive drwx------ - hive hdfs 0 2017-07-06 13:40 hdfs://mycluster/tmp/hive/hive/4f3f4253-e6d0-42ac-88bc-90f0ea03602c drwx------ - hive hdfs 0 2017-07-06 13:40 hdfs://mycluster/tmp/hive/hive/4f3f4253-e6d0-42ac-88bc-90f0ea03602c/_tmp_space.db -rw-r--r-- 3 hive hdfs 27 2017-07-06 13:40 hdfs://mycluster/tmp/hive/hive/4f3f4253-e6d0-42ac-88bc-90f0ea03602c/inuse.info -rw-r--r-- 3 hive hdfs 0 2017-07-06 13:40 hdfs://mycluster/tmp/hive/hive/4f3f4253-e6d0-42ac-88bc-90f0ea03602c/inuse.lck drwx------ - hive hdfs 0 2017-07-06 20:30 hdfs://mycluster/tmp/hive/hive/c108f1c2-453e-400f-ac3e-e3a9b0d22699 -rw-r--r-- 3 hive hdfs 26 2017-07-06 20:30 hdfs://mycluster/tmp/hive/hive/c108f1c2-453e-400f-ac3e-e3a9b0d22699/inuse.info
Ha tudja, hogy a Hive elkészült ezekkel a fájlokkal, eltávolíthatja őket. Győződjön meg arról, hogy a Hive nem futtat lekérdezéseket a Yarn Resource Manager felhasználói felületén.
Példa parancssor a FÁJLOK HDFS-ből való eltávolítására:
hadoop fs -rm -r -skipTrash hdfs://mycluster/tmp/hive/
A HDInsight méretezése három vagy több feldolgozó csomópontra
Ha a fürtök gyakran elakadnak csökkentett módban, amikor háromnál kevesebb munkavégző csomópontra skáláznak le, akkor tartsa meg legalább három munkavégző csomópontot.
A három munkavégző csomópont költségesebb, mint ha csak egy feldolgozó csomópontra skálázódik le. Ez a művelet azonban megakadályozza, hogy a fürt csökkentett módban elakadjon.
A HDInsight méretezése egy feldolgozó csomópontra
A 0 munkavégző csomópont még akkor is túléli a 0 munkavégző csomópontot, ha a fürt egy csomópontra van skálázva. A 0 munkavégző csomópont soha nem leszerelhető.
Futtassa a parancsot a csökkentett mód elhagyásához
Az utolsó lehetőség a kilépés csökkentett módú parancs végrehajtása. Ha a HDFS csökkentett módot adott meg a Hive-fájl nem replikálása miatt, hajtsa végre a következő parancsot a csökkentett mód elhagyásához:
hdfs dfsadmin -D 'fs.default.name=hdfs://mycluster/' -safemode leave
Apache HBase-fürt vertikális leskálázása
A régiókiszolgálók a skálázási művelet befejezése után néhány percen belül automatikusan kiegyensúlyozásra kerülnek. A régiókiszolgálók manuális kiegyensúlyozásához hajtsa végre a következő lépéseket:
Csatlakozzon a HDInsight-fürthöz SSH használatával. További információ: SSH használata a HDInsighttal.
Indítsa el a HBase-rendszerhéjat:
hbase shell
A régiókiszolgálók manuális kiegyensúlyozásához használja az alábbi parancsot:
balancer
Következő lépések
A HDInsight-fürt skálázásával kapcsolatos konkrét információkért lásd: