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.

Azure portal scale cluster option.

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.

  • Kafka

    A skálázási műveletek után újra kell egyensúlyba helyeznie a partícióreplikákat. További információ: Az adatok magas rendelkezésre állása az Apache Kafkával a HDInsight-dokumentumon .

  • 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 vertikális leskálázási művelet során, háromféleképpen próbálkozhat:

  1. Várjon, amíg a feladatok befejeződnek, mielőtt leskálázhatja a fürtöt.
  2. Manuálisan fejezd 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 Portalon válassza ki a fürtöt. A fürt egy új portállapon nyílik meg.

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

  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.

    Apache Ambari quick links Resource Manager UI.

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 UI applications.

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.

  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ó ü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
    
  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 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:

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

  2. Indítsa el a HBase-rendszerhéjat:

    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: