Azure HDInsight-fürtök méretezéseScale Azure HDInsight clusters

A HDInsight rugalmasságot biztosít azáltal, hogy lehetővé teszi a fürtökben lévő munkavégző csomópontok számának skálázását és leskálázását.HDInsight provides elasticity by giving you the option to scale up and scale down the number of worker nodes in your clusters. Ez a rugalmasság lehetővé teszi, hogy a fürt órák után vagy hétvégén, és bontsa ki csúcsüzleti igények alatt.This elasticity, allows you to shrink a cluster after hours or on weekends, and expand it during peak business demands.

Ha rendszeres kötegelt feldolgozással rendelkezik, a HDInsight-fürt néhány perccel a művelet előtt skálázható, hogy a fürt megfelelő memóriával és processzorteljesítménysel rendelkezik.If you have periodic batch processing, the HDInsight cluster can be scaled up a few minutes prior to that operation, so that your cluster has adequate memory and CPU power. Később, miután a feldolgozás befejeződött, és a használat ismét leáll, a HDInsight-fürt kevesebb munkavégző csomópontra skálázható. Later, after the processing is done, and usage goes down again, you can scale down the HDInsight cluster to fewer worker nodes.

A fürt manuálisan skálázható az alább ismertetett módszerek egyikével, vagy automatikus skálázási beállításokkal beállíthatja, hogy a rendszer automatikusan fel- és leskálázható legyen a processzorra, a memóriára és más metrikákra válaszul.You can scale a cluster manually using one of the methods outlined below, or use autoscale options to have the system automatically scale up and down in response to CPU, memory, and other metrics.

Megjegyzés

Csak a HDInsight 3.1.3-as vagy újabb verziójával rendelkező fürtök támogatottak.Only clusters with HDInsight version 3.1.3 or higher are supported. Ha nem biztos a fürt verziójában, ellenőrizheti a Tulajdonságok lapot.If you are unsure of the version of your cluster, you can check the Properties page.

Fürtök méretezéséhez hasznos segédprogramokUtilities to scale clusters

A Microsoft a fürtök méretezéséhez a következő segédprogramokat biztosítja:Microsoft provides the following utilities to scale clusters:

SegédprogramUtility LeírásDescription
PowerShell AzPowerShell Az Set-AzHDInsightClusterSize -ClusterName <fürtnév> <-TargetInstanceCount NewSize>Set-AzHDInsightClusterSize -ClusterName <Cluster Name> -TargetInstanceCount <NewSize>
PowerShell AzureRMPowerShell AzureRM Set-AzureRmHDInsightClusterSize -ClusterName <fürtnév> <-TargetInstanceCount NewSize>Set-AzureRmHDInsightClusterSize -ClusterName <Cluster Name> -TargetInstanceCount <NewSize>
Azure CLIAzure CLI az az hdinsight átméretezése <--erőforrás-csoport <Erőforráscsoport> --name <Cluster Name> --workernode-count NewSize>az hdinsight resize --resource-group <Resource group> --name <Cluster Name> --workernode-count <NewSize>
Azure Klasszikus CLIAzure Classic CLI az azure hdinsight <fürt <átméretezi a fürtnevet> a célpéldányok számát>azure hdinsight cluster resize <clusterName> <Target Instance Count>
Azure-portálAzure portal Nyissa meg a HDInsight fürtpanelt, válassza a bal oldali menü Fürtméret parancsát, majd a Fürtméret ablaktáblán írja be a munkavégző csomópontok számát, és válassza a Mentés gombot.Open your HDInsight cluster pane, select Cluster size on the left-hand menu, then on the Cluster size pane, type in the number of worker nodes, and select Save.

Az Azure Portal méretezési fürtbeállítása

Ezen módszerek bármelyikével perceken belül skálázhatja a HDInsight-fürtöt.Using any of these methods, you can scale your HDInsight cluster up or down within minutes.

Fontos

  • Az Azure klasszikus CLI elavult, és csak a klasszikus üzembe helyezési modell használható.The Azure classic CLI is deprecated and should only be used with the classic deployment model. Az összes többi központi telepítéshez használja az Azure CLI.Forall other deployments, use the Azure CLI .For all other deployments, use the Azure CLI.
  • A PowerShell AzureRM-modul elavult.The PowerShell AzureRM module is deprecated. Kérjük, amikor csak lehetséges, használja az Az modult.Please use the Az module whenever possible.

A skálázási műveletek hatásaImpact of scaling operations

Amikor csomópontokat ad hozzá a futó HDInsight-fürthöz (felskálázás), a függőben lévő vagy futó feladatokat ez nem érinti.When you add nodes to your running HDInsight cluster (scale up), any pending or running jobs will not be affected. Új feladatok biztonságosan elküldhetők, miközben a skálázási folyamat fut.New jobs can be safely submitted while the scaling process is running. Ha a skálázási művelet bármilyen okból sikertelen, a hiba lesz kezelve, hogy hagyja a fürt funkcionális állapotban.If the scaling operation fails for any reason, the failure will be handled to leave your cluster in a functional state.

Ha eltávolítja a csomópontokat (leskálázás), a függőben lévő vagy futó feladatok sikertelenek lesznek, amikor a skálázási művelet befejeződik.If you remove nodes (scale down), any pending or running jobs will fail when the scaling operation completes. Ez a hiba annak köszönhető, hogy néhány szolgáltatás újraindul a skálázási folyamat során.This failure is due to some of the services restarting during the scaling process. Fennáll annak a veszélye is, hogy a fürt beragadhat csökkentett módban a manuális skálázási művelet során.There is also a risk that your cluster can get stuck in safe mode during a manual scaling operation.

Az adatcsomópontok számának módosítása a HDInsight által támogatott fürttípusoktól függően változik:The impact of changing the number of data nodes varies for each type of cluster supported by HDInsight:

  • Apache HadoopApache Hadoop

    Zökkenőmentesen növelheti a munkavégző csomópontok számát egy hadoop-fürtben, amely anélkül fut, hogy befolyásolna a függőben lévő vagy futó feladatokat.You can seamlessly increase the number of worker nodes in a Hadoop cluster that is running without impacting any pending or running jobs. A művelet közben új feladatok is elküldhetők.New jobs can also be submitted while the operation is in progress. A skálázási művelet hibáit a program szabályosan kezeli, így a fürt mindig működőképes állapotban marad.Failures in a scaling operation are gracefully handled so that the cluster is always left in a functional state.

    Ha egy Hadoop-fürt az adatcsomópontok számának csökkentésével csökken, a fürt egyes szolgáltatásai újraindulnak.When a Hadoop cluster is scaled down by reducing the number of data nodes, some of the services in the cluster are restarted. Ez a viselkedés okozza az összes futó és függőben lévő feladatok sikertelen a skálázási művelet befejezésekor.This behavior causes all running and pending jobs to fail at the completion of the scaling operation. A művelet befejezése után azonban újra elküldheti a feladatokat.You can, however, resubmit the jobs once the operation is complete.

  • Apache HBaseApache HBase

    Zökkenőmentesen hozzáadhat vagy eltávolíthat csomópontokat a HBase-fürthöz futás közben.You can seamlessly add or remove nodes to your HBase cluster while it is running. A regionális kiszolgálók automatikusan kivannak egyensúlyban a skálázási művelet befejezését követő néhány percen belül.Regional Servers are automatically balanced within a few minutes of completing the scaling operation. A regionális kiszolgálókat azonban manuálisan is kiegyensúlyozhatja, ha bejelentkezik a fürt csomópontjára, és parancssori ablakból futtatja a következő parancsokat:However, you can also manually balance the regional servers by logging in to the headnode of cluster and running the following commands from a command prompt window:

    pushd %HBASE_HOME%\bin
    hbase shell
    balancer
    

    A HBase rendszerhéj használatáról az Apache HBase használatának lépésea a HDInsightbancímű témakörben talál további információt.For more information on using the HBase shell, see Get started with an Apache HBase example in HDInsight.

  • Apache StormApache Storm

    Zökkenőmentesen hozzáadhat vagy eltávolíthat adatcsomópontokat a Storm-fürthöz futás közben.You can seamlessly add or remove data nodes to your Storm cluster while it is running. Azonban a skálázási művelet sikeres befejezése után újra egyensúlyba kell hoznia a topológiát.However, after a successful completion of the scaling operation, you will need to rebalance the topology.

    Az egyensúly helyreállítása kétféleképpen valósítható meg:Rebalancing can be accomplished in two ways:

    • Storm web felhasználói felületeStorm web UI

    • Parancssori interfész (CLI) eszközCommand-line interface (CLI) tool

      További részleteket az Apache Storm dokumentációjában talál.Refer to the Apache Storm documentation for more details.

      A Storm webes felhasználói felülete a HDInsight-fürtön érhető el:The Storm web UI is available on the HDInsight cluster:

      HDInsight Storm-skála egyensúlyának helyreállítása

      Íme egy példa cli parancsot, hogy egyensúlyba hozza a Storm topológia:Here is an example CLI command to rebalance the Storm topology:

      ## Reconfigure the topology "mytopology" to use 5 worker processes,
      ## the spout "blue-spout" to use 3 executors, and
      ## the bolt "yellow-bolt" to use 10 executors
      $ storm rebalance mytopology -n 5 -e blue-spout=3 -e yellow-bolt=10
      

Fürt biztonságos méretezéseHow to safely scale down a cluster

Fürt lekicsinylése futó feladatokkalScale down a cluster with running jobs

Annak elkerülése érdekében, hogy a futó feladatok sikertelenek legyenek egy leskálázási művelet során, három dolgot próbálhat meg:To avoid having your running jobs fail during a scale down operation, you can try three things:

  1. Várja meg, amíg a feladatok befejeződnek, mielőtt leskálázhatja a fürtöt.Wait for the jobs to complete before scaling down your cluster.
  2. Manuálisan fejezze be a feladatokat.Manually end the jobs.
  3. Küldje el újra a feladatokat a skálázási művelet befejezése után.Resubmit the jobs after the scaling operation has concluded.

A függőben lévő és futó feladatok listájának megtekintéséhez használja a YARN Erőforrás-kezelő felhasználói felületétaz alábbi lépésekkel:To see a list of pending and running jobs, you can use the YARN Resource Manager UI, following these steps:

  1. Az Azure Portalonválassza ki a fürtöt.From the Azure portal, select your cluster. Az utasításokat a Fürtök listája és megjelenítése című témakörben találja.See List and show clusters for the instructions. A fürt egy új portállapon nyílik meg.The cluster is opened in a new portal page.

  2. A fő nézetben keresse meg a Fürt irányítópultjait > Ambari home.From the main view, navigate to Cluster dashboards > Ambari home. Adja meg a fürt hitelesítő adatait.Enter your cluster credentials.

  3. Az Ambari felhasználói felületén válassza a YARN lehetőséget a bal oldali menüszolgáltatások listájában.From the Ambari UI, select YARN on the list of services on the left-hand menu.

  4. A YARN lapon válassza a Gyorshivatkozások lehetőséget, és mutasson az aktív főcsomópontra, majd válassza a ResourceManager felhasználói felületét.From the YARN page, select Quick Links and hover over the active head node, then select ResourceManager UI.

    Apache Ambari gyorskapcsolatok ResourceManager UI

Közvetlenül elérheti a ResourceManager https://<HDInsightClusterName>.azurehdinsight.net/yarnui/hn/clusterfelhasználói felületét a segítségével.You may directly access the ResourceManager UI with https://<HDInsightClusterName>.azurehdinsight.net/yarnui/hn/cluster.

Megjelenik a feladatok listája a jelenlegi állapotukkal együtt.You see a list of jobs, along with their current state. A képernyőképen jelenleg egy feladat fut:In the screenshot, there's one job currently running:

ResourceManager felhasználói felületi alkalmazások

A futó alkalmazás manuális megöléséhez hajtsa végre a következő parancsot az SSH rendszerhéjból:To manually kill that running application, execute the following command from the SSH shell:

yarn application -kill <application_id>

Példa:For example:

yarn application -kill "application_1499348398273_0003"

Elakadás csökkentett módbanGetting stuck in safe mode

Fürt leskálázásakor a HDInsight az Apache Ambari felügyeleti felületek segítségével először leszereli az extra munkavégző csomópontokat, amelyek a HDFS-blokkokat más online munkavégző csomópontokra replikálják.When you scale down a cluster, HDInsight uses Apache Ambari management interfaces to first decommission the extra worker nodes, which replicate their HDFS blocks to other online worker nodes. Ezt követően a HDInsight biztonságosan skálázhatja a fürtöt.After that, HDInsight safely scales the cluster down. A HDFS csökkentett módban érhető el a skálázási művelet során, és a méretezés befejezése után kell kijönnie.HDFS goes into safe mode during the scaling operation, and is supposed to come out once the scaling is finished. Bizonyos esetekben azonban a HDFS csökkentett módban ragad a méretezési művelet során a fájlblokk alulreplikációja miatt.In some cases, however, HDFS gets stuck in safe mode during a scaling operation because of file block under-replication.

Alapértelmezés szerint a HDFS dfs.replication 1-es beállítással van konfigurálva, amely azt szabályozza, hogy az egyes fájlfiókokból hány példány érhető el.By default, HDFS is configured with a dfs.replication setting of 1, which controls how many copies of each file block are available. A fájlblokk minden példánya a fürt egy másik csomópontján tárolódik.Each copy of a file block is stored on a different node of the cluster.

Ha a HDFS azt észleli, hogy a blokkpéldányok várható száma nem érhető el, a HDFS csökkentett módba lép, és az Ambari riasztásokat hoz létre.When HDFS detects that the expected number of block copies aren't available, HDFS enters safe mode and Ambari generates alerts. Ha a HDFS csökkentett módba lép egy skálázási művelethez, de nem tud kilépni a csökkentett módból, mert a replikációhoz nem észlelhető a szükséges számú csomópont, a fürt csökkentett módban ragadhat meg.If HDFS enters safe mode for a scaling operation, but then cannot exit safe mode because the required number of nodes are not detected for replication, the cluster can become stuck in safe mode.

Példa hibák, ha a csökkentett mód be van kapcsolvaExample errors when safe mode is turned on

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

A /var/log/hadoop/hdfs/ fürt méretezésének idején a mappából származó névcsomópont-naplókat áttekintheti, hogy mikor lépett be csökkentett módba.You can review the name node logs from the /var/log/hadoop/hdfs/ folder, near the time when the cluster was scaled, to see when it entered safe mode. A naplófájlok Hadoop-hdfs-namenode-<active-headnode-name>.*neve .The log files are named Hadoop-hdfs-namenode-<active-headnode-name>.*.

Az előző hibák kiváltó oka az, hogy a Hive a lekérdezések futtatása közben a HDFS-ben lévő ideiglenes fájloktól függ.The root cause of the previous errors is that Hive depends on temporary files in HDFS while running queries. Amikor a HDFS csökkentett módba lép, a Hive nem tud lekérdezéseket futtatni, mert nem tud írni a HDFS rendszerbe.When HDFS enters safe mode, Hive cannot run queries because it cannot write to HDFS. A HDFS-ben lévő ideiglenes fájlok az egyes munkavégző csomópont virtuális gépeihez csatlakoztatott helyi meghajtón találhatók, és a többi feldolgozócsomópont között replikálhatók három replikával, legalább három replikával.The temp files in HDFS are located in the local drive mounted to the individual worker node VMs, and replicated amongst other worker nodes at three replicas, minimum.

Hogyan akadályozható meg, hogy a HDInsight beszoruljon csökkentett módban?How to prevent HDInsight from getting stuck in safe mode

A HDInsight csökkentett módban való elhagyását többféleképpen is megakadályozhatja:There are several ways to prevent HDInsight from being left in safe mode:

  • Állítsa le az összes Hive-feladatok, mielőtt leskálázhatja a HDInsight.Stop all Hive jobs before scaling down HDInsight. Másik lehetőségként ütemezze a leskálázási folyamatot, hogy elkerülje a Hive-feladatok futtatásának elkerülését.Alternately, schedule the scale down process to avoid conflicting with running Hive jobs.
  • A leskálázás előtt tmp manuálisan tisztítsa meg a Hive névmásként szükséges könyvtárfájljait a HDFS-ben.Manually clean up Hive's scratch tmp directory files in HDFS before scaling down.
  • Csak a HDInsight horizontális felskálázása három munkavégző csomópontra, minimum.Only scale down HDInsight to three worker nodes, minimum. Ne menjen olyan alacsonyra, mint egy munkavégző csomópont.Avoid going as low as one worker node.
  • Szükség esetén futtassa a parancsot a csökkentett mód elhagyásához.Run the command to leave safe mode, if needed.

A következő szakaszok ezeket a beállításokat ismertetik.The following sections describe these options.

Az összes Hive-feladat leállításaStop all Hive jobs

Állítsa le az összes Hive-feladatok, mielőtt egy munkavégző csomópontra.Stop all Hive jobs before scaling down to one worker node. Ha a számítási feladatok ütemezett, majd hajtsa végre a leskálázás után Hive munka befejeződött.If your workload is scheduled, then execute your scale-down after Hive work is done.

A Hive-feladatok méretezés előtti leállítása segít minimalizálni a tmp mappában lévő koncos fájlok számát (ha vannak ilyenek).Stopping the Hive jobs before scaling, helps minimize the number of scratch files in the tmp folder (if any).

A Hive kaparós sorsjegyfájljainak manuális karbantartásaManually clean up Hive's scratch files

Ha a Hive ideiglenes fájlokat hagyott hátra, akkor manuálisan is megtisztíthatja ezeket a fájlokat, mielőtt leskálázná őket a csökkentett mód elkerülése érdekében.If Hive has left behind temporary files, then you can manually clean up those files before scaling down to avoid safe mode.

  1. Ellenőrizze, hogy melyik helyet használja a Hive hive.exec.scratchdir ideiglenes fájlokat a konfigurációs tulajdonság ból.Check which location is being used for Hive temporary files by looking at the hive.exec.scratchdir configuration property. Ez a paraméter /etc/hive/conf/hive-site.xmla következőkben van beállítva:This parameter is set within /etc/hive/conf/hive-site.xml:

    <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.Stop Hive services and be sure all queries and jobs are completed.

  3. Sorolja fel a tartalmát a hdfs://mycluster/tmp/hive/ semmiből könyvtár fent található, hogy ha tartalmaz fájlokat:List the contents of the scratch directory found above, hdfs://mycluster/tmp/hive/ to see if it contains any files:

    hadoop fs -ls -R hdfs://mycluster/tmp/hive/hive
    

    Itt van egy minta kimenet, ha fájlok léteznek:Here is a sample output when files exist:

    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 végzett ezekkel a fájlokkal, eltávolíthatja őket.If you know Hive is done with these files, you can remove them. Győződjön meg arról, hogy a Hive nem fut semmilyen lekérdezést a Yarn ResourceManager felhasználói felületének megnézésével.Be sure that Hive does not have any queries running by looking in the Yarn ResourceManager UI page.

    Példa parancssorra a HDFS fájlrendszerből való fájlok eltávolításához:Example command line to remove files from HDFS:

    hadoop fs -rm -r -skipTrash hdfs://mycluster/tmp/hive/
    

A HDInsight méretezése három vagy több munkavégző csomópontraScale HDInsight to three or more worker nodes

Ha a fürtök gyakran elakadnak csökkentett módban, amikor háromnál kevesebb munkavégző csomópontra csökkennek le, és az előző lépések nem működnek, akkor elkerülheti, hogy a fürt teljesen biztonságos módban legyen legalább három munkavégző csomópont megtartásával.If your clusters get stuck in safe mode frequently when scaling down to fewer than three worker nodes, and the previous steps don't work, then you can avoid your cluster going in to safe mode altogether by keeping at least three worker nodes.

Három munkavégző csomópont megtartása költségesebb, mint a leskálázás csak egy munkavégző csomópontra, de megakadályozza, hogy a fürt beszoruljon csökkentett módban.Retaining three worker nodes is more costly than scaling down to only one worker node, but it will prevent your cluster from getting stuck in safe mode.

A HDInsight méretezése egy munkavégző csomópontraScale HDInsight down to one worker node

Még akkor is, ha a fürt lekicsinyített 1 csomópont, a 0 munkavégző csomópont továbbra is fennmarad.Even when the cluster is scaled down to 1 node, worker node 0 will still survive. A 0 munkavégző csomópontot soha nem lehet leszerelni.Worker node 0 can never be decommissioned.

A parancs futtatása a csökkentett módból való kilépéshezRun the command to leave safe mode

Az utolsó lehetőség a leave safe mode parancs végrehajtása.The final option is to execute the leave safe mode command. Ha tudja, hogy a HDFS csökkentett módba lépésének oka a Hive-fájl alulreplikációja miatt van, a következő parancsot hajthatja végre a csökkentett mód elhagyásához:If you know that the reason for HDFS entering safe mode is because of Hive file under-replication, you can execute the following command to leave safe mode:

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

Apache HBase-fürt lekicsinyléseScale down an Apache HBase cluster

A régiókiszolgálók automatikusan kivannak egyensúlyban néhány percen belül a skálázási művelet befejezése után.Region servers are automatically balanced within a few minutes after completing a scaling operation. A régiókiszolgálók manuális kiegyensúlyozásához hajtsa végre az alábbi lépéseket:To manually balance region servers, complete the following steps:

  1. Csatlakozzon a HDInsight-fürthöz az SSH használatával.Connect to the HDInsight cluster using SSH. További információ: SSH használata a HDInsight segítségével.For more information, see Use SSH with HDInsight.

  2. Indítsa el a HBase rendszerhéjat:Start the HBase shell:

    hbase shell
    
  3. A következő paranccsal manuálisan egyensúlyozta ki a régiókiszolgálókat:Use the following command to manually balance the region servers:

    balancer
    

További lépésekNext steps