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


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 zsugorítását munkaidőn kívül vagy hétvégén. És terjessze ki a csúcs üzleti igények idején.

Növelje a fürt kapacitását rendszeres kötegelt feldolgozás előtt, hogy a fürt megfelelő erőforrásokkal rendelkezzen. 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.

Megjegyzés:

Csak a HDInsight 3.1.3-as vagy újabb verziójú fürtök támogatottak. Ha nem biztos a klasztere 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:

Hasznosság Leírás
PowerShell Az Set-AzHDInsightClusterSize -ClusterName CLUSTERNAME -TargetInstanceCount NEWSIZE
Azure CLI az hdinsight resize --resource-group RESOURCEGROUP --name CLUSTERNAME --workernode-count NEWSIZE
Azure Classic CLI azure hdinsight cluster resize CLUSTERNAME NEWSIZE
Azure Portál 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.

Az Azure Portal skálázási fürtbeállítása.

Ezeknek a módszereknek bármelyikével néhány perc 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ó. Az összes többi üzembe helyezéshez 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 ellenére a fürt továbbra is működőképes marad.

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 klaszter 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 feldolgozó csomópontjainak számát anélkül, hogy az folyamatokat megzavarná. Ú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 működőképes állapotban marad mindig.

    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

    Zökkenőmentesen adhat hozzá vagy távolíthat el csomópontokat a HBase-fürtből, miközben az működik. 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 fő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.

    Megjegyzés:

    Kafka-fürtökre nem alkalmazható.

  • 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

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 csökkentési művelet során, három dolgot próbálhat meg:

  1. Várjon, amíg a feladatok befejeződnek, mielőtt csökkentené a fürt méretét.
  2. Manuálisan fejezze be a feladatokat.
  3. 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:

  1. Az Azure portálról válassza ki a fürtöt. A klaszter egy új portállapon kinyílik meg.

  2. A fő nézetből lépjen a Fürtirányítópultok>Ambari kezdőlapjára. Adja meg a klaszter hitelesítő adatait.

  3. Az Ambari felhasználói felületén válassza a YARN elemet a bal oldali menü szolgáltatásainak listájában.

  4. 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.

    Az Apache Ambari gyorshivatkozások Resource Manager felhasználói felülete.

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:

Resource Manager felhasználói felületi alkalmazások.

A futó alkalmazás kézi leállításához hajtsa végre a következő parancsot az SSH shellből:

yarn application -kill <application_id>

Például:

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. Az HDFS biztonságos módba lép 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 másolatát a fürt különböző csomópontjain tárolják.

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. Az HDFS beléphet a biztonságos módba a skálázási műveletből adódóan. A fürt elakadhat biztonságos módban, ha a szükséges számú csomópont nem észlelhető a replikációhoz.

Példa hibák, amikor a csökkentett mód be van kapcsolva

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 biztonságos 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 biztonságos módban történő elakadásának megakadályozása

Többféleképpen megelőzheti, hogy a HDInsight biztonságos módba kerüljön:

  • A HDInsight leskálázása előtt állítsa le az összes Hive-feladatot. Alternatívaként ütemezze a lefelé skálázási folyamatot úgy, hogy elkerülje a Hive-feladatok futtatásával való ütközést.
  • Mielőtt a rendszer le van skálázva, manuálisan törölje a Hive üres tmp könyvtárfájljait a HDFS-ben.
  • A HDInsightot csak három feldolgozó csomópontra skálázhatja le, minimálisan. Kerülje, hogy egy munkavállalói csomópontig csökkenjen.
  • 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.

Állítsa le az összes Hive-feladatot

Állítsa le az összes Hive-feladatot, mielőtt egy munkás csomópontra skálázna le. Ha a számítási feladat ütemezve van, akkor a Hive-feladat befejezése után végezze el a méretezés csökkentését.

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 maga után, a biztonságos mód elkerülése érdekében manuálisan törölheti ezeket a fájlokat, mielőtt leskálázna.

  1. 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.xmlvan beállítva:

    <property>
        <name>hive.exec.scratchdir</name>
        <value>hdfs://mycluster/tmp/hive</value>
    </property>
    
  2. Á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.

  3. Sorolja fel a fent található scratch könyvtár tartalmát, 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
    
  4. 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 a biztonságos üzemmódban, amikor kevesebb mint három munkavállalói csomópontra skáláznak le, akkor tartsa meg legalább három munkavállalói 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 biztonságos módban elakadjon.

Az HDInsight méretének csökkentése egy munkavégző csomópontra

Még akkor is, amikor a fürt egy csomópontra van skálázva, a 0 munkavégző csomópont továbbra is megmarad. Az 0-ás munkavégző csomópont soha nem dekommissziózható.

Futtassa a parancsot a csökkentett mód elhagyásához

Az utolsó lehetőség a kilépés a csökkentett módból parancs végrehajtása. Ha a HDFS biztonságos módba lépett a Hive-fájl alacsony szintű replikációja miatt, hajtsa végre a következő parancsot a biztonságos mód elhagyásához:

hdfs dfsadmin -D 'fs.default.name=hdfs://mycluster/' -safemode leave

Apache HBase-fürt lecsökkentése

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:

  1. Csatlakozzon a HDInsight-fürthöz SSH használatával. További információ: SSH használata a HDInsighttal.

  2. Indítsa el a HBase parancssort:

    hbase shell
    
  3. 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: