Nasazení a správa topologií Apache Storm ve službě Azure HDInsight

V tomto dokumentu se seznámíte se základy správy a monitorování topologií Apache Storm běžících na clusterech HDInsight.

Požadavky

Odeslání topologie pomocí Visual Studio

Pomocí nástrojů Data Lake pro Visual Studio můžete odesílat do clusteru Storm C# nebo hybridní topologie. Následující kroky používají ukázkovou aplikaci. Informace o vytváření topologie pomocí nástrojů Data Lake najdete v tématu Topologie Apache Storm s Visual Studio a C#.

  1. Pokud jste ještě nenainstalovali nejnovější verzi nástrojů Data Lake pro Visual Studio, přečtěte si téma Použití nástrojů Data Lake pro Visual Studio.

    Poznámka

    Nástroje Azure Data Lake a Stream Analytics se dříve nazývají nástroje HDInsight pro Visual Studio.

    Nástroje Azure Data Lake a Stream Analytics pro Visual Studio jsou součástí vývojové úlohy Azure pro Visual Studio 2019.

  2. Spusťte Visual Studio.

  3. V okně Start vyberte Vytvořit nový projekt.

  4. V okně Vytvořit nový projekt vyberte vyhledávací pole a zadejte Storm. Pak v seznamu výsledků zvolte Storm Sample a vyberte Další.

  5. V okně Konfigurovat nový projekt zadejte název Project a přejděte nebo vytvořte umístění pro uložení nového projektu. Potom vyberte Vytvořit.

    Configure your new project window, Visual Studio

  6. V Průzkumníku serveru klikněte pravým tlačítkem na Azure a vyberte Připojení Microsoft Azure Předplatné... a dokončete proces přihlášení.

  7. V Průzkumník řešení klikněte pravým tlačítkem na projekt a zvolte Odeslat do Stormu ve službě HDInsight.

    Poznámka

    Pokud se zobrazí výzva, zadejte přihlašovací údaje pro vaše předplatné Azure. Pokud máte více než jedno předplatné, přihlaste se k předplatnému, které obsahuje cluster Storm ve službě HDInsight.

  8. V dialogovém okně Odeslat topologii v rozevíracím seznamu Cluster Storm zvolte Storm v clusteru HDInsight a pak vyberte Odeslat. Jestli je odeslání úspěšné, můžete sledovat zobrazením podokna Výstup .

Odeslání topologie pomocí SSH a příkazu Storm

  1. Pomocí příkazu ssh se připojte ke clusteru. Upravte následující příkaz tak, že nahradíte název clusteru názvem clusteru a pak zadejte příkaz:

    ssh sshuser@CLUSTERNAME-ssh.azurehdinsight.net
    
  2. V relaci ssh spusťte ukázkovou topologii WordCount pomocí následujícího příkazu:

    storm jar /usr/hdp/current/storm-client/contrib/storm-starter/storm-starter-topologies-*.jar org.apache.storm.starter.WordCountTopology WordCount
    

    Tento příkaz v clusteru spustí ukázkovou topologii WordCount. Tato topologie náhodně generuje věty a pak spočítá výskyt každého slova ve větách.

    Poznámka

    Při odesílání topologie do clusteru musíte před použitím storm příkazu nejprve zkopírovat soubor .jar obsahující cluster. Pokud chcete soubor zkopírovat do clusteru, můžete použít scp příkaz. Zadejte například scp FILENAME.jar USERNAME@CLUSTERNAME-ssh.azurehdinsight.net:FILENAME.jar.

    Příklad WordCount a další počáteční příklady stormu jsou již součástí clusteru na adrese /usr/hdp/current/storm-client/contrib/storm-starter/.

Odeslání topologie prostřednictvím kódu programu

Topologii můžete programově nasadit pomocí služby Nimbus. https://github.com/Azure-Samples/hdinsight-java-deploy-storm-topology poskytuje ukázkovou aplikaci Java, která ukazuje, jak nasadit a spustit topologii prostřednictvím služby Nimbus.

Monitorování a správa topologie v Visual Studio

Když odešlete topologii pomocí Visual Studio, zobrazí se okno Zobrazení topologie Storm. Výběrem topologie ze seznamu zobrazíte informace o spuštěné topologii.

Monitor topology, Storm Topologies View window, Visual Studio

Poznámka

Topologie Storm můžete zobrazit také z Průzkumníka serveru. Rozbalte AzureHDInsight>, klikněte pravým tlačítkem myši na storm v clusteru HDInsight a pak vyberte Zobrazit topologie Storm.

Chcete-li zobrazit informace o těchto komponentách, vyberte obrazec pro spouty nebo šrouby. Zobrazí se popis s informacemi o komponentách pro vybranou položku.

Deaktivace a opětovná aktivace topologie

Deaktivace topologie ji pozastaví, dokud nebude topologie zabita nebo znovu aktivována. K provedení těchto operací použijte tlačítka Deaktivovat a znovu aktivovat v oblasti Akce v horní části okna Zobrazení topologie Storm .

Změna rovnováhy topologie

Vyrovnávání topologie umožňuje systému revidovat paralelismus topologie. Pokud jste například změnili velikost clusteru tak, aby přidal další poznámky, umožňuje vyvážení topologie zobrazit nové uzly.

Pokud chcete vyvážit topologii, použijte tlačítko Rebalance v oblasti Akce okna Zobrazení topologií Storm .

Upozornění

Opětovná vyvážení topologie deaktivuje topologii, redistribuuje pracovní procesy rovnoměrně napříč clusterem a pak vrátí topologii do stavu, ve kterém byla dříve, než došlo k vyrovnávání. Pokud byla topologie aktivní, stane se znovu aktivní. Pokud byla topologie deaktivovaná, zůstane deaktivovaná.

Ukončení spuštěné topologie

Topologie Storm budou dál běžet, dokud se nezastaví nebo se cluster odstraní. Pokud chcete topologii zastavit, použijte tlačítko Kill v oblasti Akce .

Monitorování a správa topologie pomocí SSH a příkazu Storm

Nástroj storm umožňuje pracovat se spuštěnými topologiemi z příkazového řádku. Slouží storm -h k úplnému seznamu příkazů.

Seznam topologií

Pomocí následujícího příkazu zobrazte seznam všech spuštěných topologií:

storm list

Tento příkaz by měl vrátit informace podobné následujícímu textu:

Topology_name        Status     Num_tasks  Num_workers  Uptime_secs
-------------------------------------------------------------------
WordCount            ACTIVE     29         2            263

Deaktivace a opětovná aktivace topologie

Deaktivace topologie ji pozastaví, dokud nebude topologie zabita nebo znovu aktivována. K deaktivaci nebo opětovné aktivaci použijte následující příkazy:

storm Deactivate TOPOLOGYNAME
storm Activate TOPOLOGYNAME

Ukončení spuštěné topologie

Topologie Stormu, po spuštění pokračujte, dokud se nezastaví. Pokud chcete topologii zastavit, použijte následující příkaz:

storm kill TOPOLOGYNAME

Změna rovnováhy topologie

Vyrovnávání topologie umožňuje systému revidovat paralelismus topologie. Pokud jste například změnili velikost clusteru tak, aby přidal další poznámky, umožňuje vyvážení topologie zobrazit nové uzly.

Upozornění

Opětovná vyvážení topologie deaktivuje topologii, redistribuuje pracovní procesy rovnoměrně napříč clusterem a pak vrátí topologii do stavu, ve kterém byla dříve, než došlo k vyrovnávání. Pokud byla topologie aktivní, stane se znovu aktivní. Pokud byl deaktivovaný, zůstane deaktivovaný.

storm rebalance TOPOLOGYNAME

Monitorování a správa topologie pomocí uživatelského rozhraní Storm

Uživatelské rozhraní Storm poskytuje webové rozhraní pro práci se spuštěnými topologiemi a je součástí clusteru HDInsight. Pokud chcete zobrazit uživatelské rozhraní Storm, otevřete https://CLUSTERNAME.azurehdinsight.net/stormuipomocí webového prohlížeče, kde CLUSTERNAME je název vašeho clusteru.

Poznámka

Pokud se zobrazí výzva k zadání uživatelského jména a hesla, zadejte uživatelské jméno a heslo správce clusteru, které jste použili při vytváření clusteru.

Hlavní stránka uživatelského rozhraní Storm

Hlavní stránka uživatelského rozhraní Storm poskytuje následující informace:

Sekce Description
Souhrn clusteru Základní informace o clusteru Storm
Souhrn nimbusu Seznam základních informací Nimbus.
Souhrn topologie Seznam spuštěných topologií Pokud chcete zobrazit další informace o konkrétní topologii, vyberte jeho odkaz ve sloupci Název .
Souhrn nadřízeného Informace o vedoucím Stormu. Pokud chcete zobrazit pracovní prostředky přidružené ke konkrétnímu nadřízenému, vyberte jeho odkaz ve sloupci Hostitel nebo ID .
Konfigurace Nimbusu Konfigurace Nimbus pro cluster.

Hlavní stránka uživatelského rozhraní Storm vypadá podobně jako tato webová stránka:

Main page, Storm UI, Apache Storm topologies, Azure

Souhrn topologie

Výběrem odkazu ze souhrnné části topologie se zobrazí následující informace o topologii:

Sekce Description
Souhrn topologie Základní informace o topologii
Akce topologie Akce správy, které můžete provést pro topologii. Dostupné akce jsou popsány dále v této části.
Statistiky topologie Statistiky o topologii Chcete-li nastavit časový rámec pro položku v této části, vyberte jeho odkaz ve sloupci Okno .
Spouts (časový rámec) Spouty používané topologií. Pokud chcete zobrazit další informace o určitém spoutu, vyberte jeho odkaz ve sloupci ID .
Bolty (časový rámec) Šrouby používané topologií Pokud chcete zobrazit další informace o konkrétním boltu, vyberte jeho odkaz ve sloupci ID .
Pracovní prostředky Seznam pracovních prostředků Pokud chcete zobrazit další informace o konkrétním pracovním prostředku, vyberte jeho odkaz ve sloupci Hostitel .
Vizualizace topologie Tlačítko Zobrazit vizualizaci , které zobrazuje vizualizaci topologie.
Konfigurace topologie Konfigurace vybrané topologie.

Stránka souhrnu topologie Storm vypadá podobně jako tato webová stránka:

Topology summary page, Storm UI, Apache Storm, Azure

V části Akce topologie můžete k provedení akce vybrat následující tlačítka:

Tlačítko Description
Aktivovat Obnoví zpracování deaktivované topologie.
Deaktivovat Pozastaví spuštěnou topologii.
Přehodnotit Upraví paralelismus topologie. Po změně počtu uzlů v clusteru byste měli znovu vyvážit spuštěné topologie. Tato operace umožňuje topologii upravit paralelismus tak, aby kompenzuje další nebo omezený počet uzlů v clusteru.

Další informace naleznete v tématu Vysvětlení paralelismu topologie Apache Storm.
Zabít Ukončí topologii Storm po zadaném časovém limitu.
Ladění Zahájí ladicí relaci pro spuštěnou topologii.
Zastavit ladění Ukončí ladicí relaci pro spuštěnou topologii.
Úroveň protokolu změn Upraví úroveň protokolu ladění.
Souhrn spout a bolt

Při výběru spouts nebo bolts oddílů se zobrazí následující informace o vybrané položce:

Sekce Description
Souhrn součástí Základní informace o spout nebo boltu
Akce komponent Ladění a zastavení ladění tlačítek
Statistiky spout nebo statistiky šroubů Statistika o spoutu nebo šroubu Chcete-li nastavit časový rámec pro položku v této části, vyberte jeho odkaz ve sloupci Okno .
(pouze bolt)
Vstupní statistiky*(časový rámec)*
Informace o vstupních datových proudech spotřebovaných boltem
Statistiky výstupu (časový rámec) Informace o datových proudech vygenerovaných spoutem nebo šroubem
Profilace a ladění Ovládací prvky pro profilaci a ladění komponent na této stránce Můžete nastavit hodnotu Stav / Časový limit (Minuty) a můžete vybrat tlačítka pro JStack, Restart Worker a Haldu.
Exekutory (časový rámec) Informace o instancích spout nebo bolt. Pokud chcete zobrazit protokol diagnostických informací vytvořených pro tuto instanci, vyberte položku Port pro konkrétního exekutora. Pracovní prostředky přidružené ke konkrétnímu exekutoru můžete zobrazit také tak, že ve sloupci Hostitel vyberete jeho odkaz.
Chyby Všechny informace o chybě pro spout nebo bolt

Souhrnná stránka Storm Bolt vypadá podobně jako tato webová stránka:

Bolt summary page, Storm UI, Apache Storm, Azure

Monitorování a správa topologie pomocí rozhraní REST API

Uživatelské rozhraní Storm je založené na rozhraní REST API, takže můžete provádět podobné úlohy správy a monitorování pomocí rozhraní REST API. Rozhraní REST API můžete použít k vytvoření vlastních nástrojů pro správu a monitorování topologií Storm.

Další informace naleznete v tématu Apache Storm UI REST API. Následující informace jsou specifické pro použití rozhraní REST API s Apache Stormem ve službě HDInsight.

Důležité

Rozhraní Storm REST API není veřejně dostupné přes internet. Musí být přístupný pomocí tunelu SSH k hlavnímu uzlu clusteru HDInsight. Informace o vytváření a používání tunelu SSH najdete v tématu Použití tunelového propojení SSH pro přístup ke službě Azure HDInsight.

Základní identifikátor URI

Základní identifikátor URI pro rozhraní REST API v clusterech HDInsight se systémem Linux je k dispozici na adrese https://HEADNODEFQDN:8744/api/v1/URL, kde nahradíte HEADNODEFQDN hlavním uzlem. Název domény hlavního uzlu se generuje během vytváření clusteru a není statický.

Plně kvalifikovaný název domény (FQDN) pro hlavní uzel clusteru najdete několika způsoby:

Metoda zjišťování plně kvalifikovaného názvu domény Description
Relace SSH Použijte příkaz headnode -f z relace SSH ke clusteru.
Ambari Web Na webové stránce clusteru Ambari (https://CLUSTERNAME.azurehdinsight.net) vyberte Služby v horní části stránky a pak vyberte Storm. Na kartě Souhrn vyberte Server uživatelského rozhraní Storm. Plně kvalifikovaný název domény uzlu, který je hostitelem uživatelského rozhraní Storm a rozhraní REST API, se zobrazí v horní části stránky.
Ambari REST API Pomocí příkazu curl -u admin -G "https://CLUSTERNAME.azurehdinsight.net/api/v1/clusters/CLUSTERNAME/services/STORM/components/STORM_UI_SERVER" načtěte informace o uzlu, na kterém běží uživatelské rozhraní Storm a rozhraní REST API. Nahraďte dvě instance clusteru názvem clusteru. Po zobrazení výzvy zadejte heslo pro účet uživatele (správce). V odpovědi obsahuje položka "host_name" výstupu JSON plně kvalifikovaný název domény uzlu.

Authentication

Požadavky na rozhraní REST API musí používat základní ověřování, takže musíte pro cluster HDInsight použít název správce a heslo.

Poznámka

Vzhledem k tomu, že se základní ověřování odesílá pomocí prostého textu, měli byste vždy použít protokol HTTPS k zabezpečení komunikace s clusterem.

Vrácené hodnoty

Informace vrácené z rozhraní REST API můžou být použitelné jenom v rámci clusteru. Například plně kvalifikovaný název domény (FQDN) vrácený pro servery Apache ZooKeeper není přístupný z internetu.

Další kroky

Naučte se vyvíjet topologie založené na Javě pomocí Apache Mavenu.

Seznam dalších ukázkových topologií najdete v tématu Příklady topologií Apache Storm ve službě Azure HDInsight.