Monitorování výkonu clusteru v Azure HDInsight

Monitorování stavu a výkonu clusteru HDInsight je nezbytné pro zajištění optimálního výkonu a využití prostředků. Monitorování vám také může pomoct při zjišťování a řešení chyb konfigurace clusteru a problémů s uživatelským kódem.

Následující části popisují, jak monitorovat a optimalizovat zatížení clusterů, front Apache Hadoop YARN a zjišťovat problémy s omezováním úložiště.

Monitorování zatížení clusteru

Clustery Hadoop můžou zajistit optimální výkon, když je zatížení clusteru rovnoměrně distribuované napříč všemi uzly. To umožňuje spouštění úloh zpracování bez omezení paměti RAM, procesoru nebo diskových prostředků na jednotlivých uzlech.

Pokud chcete získat základní přehled o uzlech clusteru a jejich načítání, přihlaste se k webovému uživatelskému rozhraní Ambari a vyberte kartu Hostitelé . Vaši hostitelé jsou uvedení plně kvalifikovanými názvy domén. Provozní stav každého hostitele je zobrazen barevným indikátorem stavu:

Color Popis
Červený Nejméně jedna hlavní komponenta na hostiteli je dole. Najetí myší zobrazíte popis, který obsahuje ovlivněné součásti.
Orange Nejméně jedna sekundární komponenta na hostiteli je dole. Najetí myší zobrazíte popis, který obsahuje ovlivněné součásti.
Yellow Server Ambari neobdržel z hostitele prezenčních signálů déle než 3 minuty.
Zelený Normální stav spuštění.

Zobrazí se také sloupce zobrazující počet jader a velikost paměti RAM pro každého hostitele a průměrné využití disku a zatížení.

Apache Ambari hosts tab overview.

Vyberte některý z názvů hostitelů a prohlédněte si podrobné informace o komponentách spuštěných na daném hostiteli a jejich metrikách. Metriky se zobrazují jako výběrová časová osa využití procesoru, zatížení, využití disku, využití paměti, využití sítě a počtu procesů.

Apache Ambari host details overview.

Podrobnosti o nastavení upozornění a zobrazení metrik najdete v tématu Správa clusterů HDInsight pomocí webového uživatelského rozhraní Apache Ambari.

Konfigurace fronty YARN

Hadoop má různé služby běžící na celé své distribuované platformě. YARN (Ještě jiný vyjednavač prostředků) koordinuje tyto služby a přiděluje prostředky clusteru, aby se zajistilo rovnoměrné rozdělení zatížení napříč clusterem.

YARN rozdělí dvě odpovědnosti JobTrackeru, správy prostředků a plánování a monitorování úloh, do dvou démonů: globálního Resource Manageru a Správce aplikací pro jednotlivé aplikace (AM).

Resource Manager je čistý plánovač a výhradně rozhoduje dostupné prostředky mezi všemi konkurenčními aplikacemi. Resource Manager zajišťuje, že se všechny prostředky vždy používají, optimalizují se pro různé konstanty, jako jsou smlouvy SLA, záruky kapacity atd. ApplicationMaster vyjedná prostředky z Resource Manageru a pracuje s NodeManagery ke spouštění a monitorování kontejnerů a jejich spotřeby prostředků.

Když více tenantů sdílí velký cluster, existuje konkurence pro prostředky clusteru. CapacityScheduler je připojitelný plánovač, který pomáhá při sdílení prostředků tím, že zařadí požadavky do fronty. CapacityScheduler také podporuje hierarchické fronty , aby se zajistilo, že prostředky jsou sdíleny mezi podřadinými frontami organizace, aby fronty jiných aplikací mohli používat bezplatné prostředky.

YARN nám umožňuje přidělovat prostředky do těchto front a ukazuje, jestli jsou přiřazeny všechny dostupné prostředky. Pokud chcete zobrazit informace o frontách, přihlaste se k webovému uživatelskému rozhraní Ambari a v horní nabídce vyberte Správce front YARN.

Apache Ambari YARN Queue Manager.

Na stránce Správce front YARN se na levé straně zobrazuje seznam front a procento kapacity přiřazené jednotlivým frontám.

YARN Queue Manager details page.

Podrobnější přehled o frontách získáte tak, že na řídicím panelu Ambari vyberete službu YARN ze seznamu na levé straně. Potom v rozevírací nabídce Rychlé odkazy vyberte uživatelské rozhraní Resource Manageru pod aktivním uzlem.

Resource Manager UI menu links.

V uživatelském rozhraní Resource Manageru v nabídce vlevo vyberte Scheduler . Pod frontami aplikací se zobrazí seznam front. Tady vidíte kapacitu použitou pro každou z vašich front, jak dobře se mezi ně rozdělují úlohy a jestli jsou některé úlohy omezené prostředky.

Apache HAdoop Resource Manager UI menu.

Omezování úložiště

Kritickým bodem výkonu clusteru může být úroveň úložiště. Tento typ kritického bodu je nejčastěji způsoben blokováním vstupně-výstupních operací , ke kterým dochází, když vaše spuštěné úlohy odesílají více vstupně-výstupních operací, než dokáže služba úložiště zpracovat. Toto blokování vytvoří frontu vstupně-výstupních požadavků čekajících na zpracování, dokud se nezpracují aktuální vstupně-výstupní operace. Bloky jsou způsobené omezováním úložiště, což není fyzický limit, ale limit uložený službou úložiště smlouvou o úrovni služeb (SLA). Tímto limitem se zajistí, že službu nebude moct monopolizovat žádný klient ani tenant. Smlouva SLA omezuje počet vstupně-výstupních operací za sekundu (IOPS) pro Azure Storage – podrobnosti najdete v tématu Škálovatelnost a výkonnostní cíle pro účty úložiště úrovně Standard.

Pokud používáte Azure Storage, informace o monitorování problémů souvisejících s úložištěm, včetně omezování, najdete v tématu Monitorování, diagnostika a řešení potíží se službou Microsoft Azure Storage.

Pokud je backingovým úložištěm vašeho clusteru Azure Data Lake Storage (ADLS), je vaše omezování pravděpodobně způsobené limity šířky pásma. Omezování v tomto případě může být zjištěno sledováním chyb omezování v protokolech úloh. Informace o službě ADLS najdete v části omezení příslušné služby v těchto článcích:

Řešení potíží s nízkým výkonem uzlu

V některých případech může ke zpomalení dojít kvůli nedostatku místa na disku v clusteru. Prozkoumejte pomocí těchto kroků:

  1. Pomocí příkazu ssh se připojte k jednotlivým uzlům.

  2. Spuštěním jednoho z následujících příkazů zkontrolujte využití disku:

    df -h
    du -h --max-depth=1 / | sort -h
    
  3. Zkontrolujte výstup a zkontrolujte přítomnost všech velkých souborů ve mnt složce nebo jiných složkách. usercacheSložky a appcache (mnt/resource/hadoop/yarn/local/usercache/hive/appcache/) obvykle obsahují velké soubory.

  4. Pokud jsou velké soubory, aktuální úloha způsobuje růst souboru nebo neúspěšná předchozí úloha mohla k tomuto problému přispět. Pokud chcete zjistit, jestli toto chování způsobuje aktuální úloha, spusťte následující příkaz:

    sudo du -h --max-depth=1 /mnt/resource/hadoop/yarn/local/usercache/hive/appcache/
    
  5. Pokud tento příkaz označí konkrétní úlohu, můžete tuto úlohu ukončit pomocí podobného příkazu:

    yarn application -kill -applicationId <application_id>
    

    Nahraďte application_id ID aplikace. Pokud se neoznačí žádné konkrétní úlohy, přejděte k následujícímu kroku.

  6. Po dokončení výše uvedeného příkazu nebo pokud nejsou uvedené žádné konkrétní úlohy, odstraňte velké soubory, které jste identifikovali spuštěním příkazu podobného následujícímu:

    rm -rf filecache usercache
    

Další informace o problémech s místem na disku najdete v tématu Nedostatek místa na disku.

Poznámka:

Pokud máte velké soubory, které chcete zachovat, ale přispívají k problému s nedostatkem místa na disku, musíte vertikálně navýšit kapacitu clusteru HDInsight a restartovat služby. Po dokončení tohoto postupu a čekání na několik minut si všimnete, že se uvolní úložiště a obnoví se obvyklý výkon uzlu.

Další kroky

Další informace o řešení potíží a monitorování clusterů najdete na následujících odkazech: