Nasazení a správa topologií Apache Storm v Azure HDInsightDeploy and manage Apache Storm topologies on Azure HDInsight

V tomto dokumentu, seznamte se se základy monitorování a správa Apache Storm topologií Storm a systémem v clusterech HDInsight.In this document, learn the basics of managing and monitoring Apache Storm topologies running on Storm on HDInsight clusters.

Důležité

Kroky v tomto článku vyžadují linuxovým Storm v clusteru HDInsight.The steps in this article require a Linux-based Storm on HDInsight cluster. HDInsight od verze 3.4 výše používá výhradně operační systém Linux.Linux is the only operating system used on HDInsight version 3.4 or greater. Další informace najdete v tématu Vyřazení prostředí HDInsight ve Windows.For more information, see HDInsight retirement on Windows.

PožadavkyPrerequisites

Odešlete topologii: Visual StudioSubmit a topology: Visual Studio

Nástroje HDInsight je možné odeslat jazyka C# nebo hybridní topologie pro váš cluster Storm.The HDInsight Tools can be used to submit C# or hybrid topologies to your Storm cluster. Následující kroky používají ukázková aplikace.The following steps use a sample application. Informace o vytváření pomocí nástrojů HDInsight najdete v tématu vývoj topologií C# pomocí nástrojů HDInsight pro Visual Studio.For information about creating on using the HDInsight Tools, see Develop C# topologies using the HDInsight Tools for Visual Studio.

  1. Pokud jste ještě nenainstalovali nejnovější verzi nástrojů Data Lake pro Visual Studio, přečtěte si téma Začínáme pomocí nástrojů Data Lake pro Visual Studio.If you have not already installed the latest version of the Data Lake tools for Visual Studio, see Get started using Data Lake Tools for Visual Studio.

    Poznámka

    Nástroje Data Lake pro Visual Studio se dřív označovaly jako HDInsight Tools pro Visual Studio.The Data Lake Tools for Visual Studio were formerly called the HDInsight Tools for Visual Studio.

    Jsou součástí nástrojů data Lake pro Visual Studio Azure Workload pro Visual Studio 2017.Data Lake Tools for Visual Studio are included in the Azure Workload for Visual Studio 2017.

  2. Otevřít Visual Studio, vyberte souboru > nový > projektu.Open Visual Studio, select File > New > Project.

  3. V nový projekt dialogového okna rozbalte nainstalováno > šablonya pak vyberte HDInsight.In the New Project dialog box, expand Installed > Templates, and then select HDInsight. V seznamu šablon vyberte Storm ukázka.From the list of templates, select Storm Sample. V dolní části dialogového okna zadejte název aplikace.At the bottom of the dialog box, type a name for the application.

    image

  4. V Průzkumníka řešení, klikněte pravým tlačítkem na projekt a vyberte odeslat do Storm v HDInsight.In Solution Explorer, right-click the project, and select Submit to Storm on HDInsight.

    Poznámka

    Pokud se zobrazí výzva, zadejte přihlašovací údaje pro vaše předplatné Azure.If prompted, enter the login credentials for your Azure subscription. Pokud máte více než jedno předplatné, přihlaste se na ten, který obsahuje váš cluster Storm v HDInsight.If you have more than one subscription, log in to the one that contains your Storm on HDInsight cluster.

  5. Vyberte váš cluster Storm v HDInsight z Storm Cluster rozevíracího seznamu a pak vyberte odeslat.Select your Storm on HDInsight cluster from the Storm Cluster drop-down list, and then select Submit. Můžete sledovat, jestli je pomocí úspěšného odeslání výstup okna.You can monitor whether the submission is successful by using the Output window.

Odešlete topologii: SSH a příkaz StormSubmit a topology: SSH and the Storm command

  1. Pomocí SSH se připojte ke clusteru HDInsight.Use SSH to connect to the HDInsight cluster. Nahraďte uživatelské jméno název vaší přihlašování přes SSH.Replace USERNAME the name of your SSH login. Nahraďte CLUSTERNAME názvem vašeho clusteru HDInsight:Replace CLUSTERNAME with your HDInsight cluster name:

     ssh USERNAME@CLUSTERNAME-ssh.azurehdinsight.net
    

    Další informace o používání SSH pro připojení ke clusteru HDInsight najdete v tématu použití SSH se službou HDInsight.For more information on using SSH to connect to your HDInsight cluster, see Use SSH with HDInsight.

  2. Následující příkaz použijte ke spuštění ukázkové topologie:Use the following command to start an example topology:

     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.This command starts the example WordCount topology on the cluster. Tato topologie náhodně generovat věty a pak se počítá výskyt jednotlivých slov v těchto větách.This topology randomly generates sentences, and then counts the occurrence of each word in the sentences.

    Poznámka

    Při odesílání topologie do clusteru je nutné nejprve zkopírovat soubor jar obsahující cluster před použitím příkazu storm.When submitting topology to the cluster, you must first copy the jar file containing the cluster before using the storm command. Pokud chcete zkopírovat soubor do clusteru, můžete použít scp příkazu.To copy the file to the cluster, you can use the scp command. Například scp FILENAME.jar USERNAME@CLUSTERNAME-ssh.azurehdinsight.net:FILENAME.jar.For example, scp FILENAME.jar USERNAME@CLUSTERNAME-ssh.azurehdinsight.net:FILENAME.jar

    Příklad WordCount a další příklady starter storm jsou již zahrnuty v clusteru na /usr/hdp/current/storm-client/contrib/storm-starter/.The WordCount example, and other storm starter examples, are already included on your cluster at /usr/hdp/current/storm-client/contrib/storm-starter/.

Odeslat topologii: prostřednictvím kódu programuSubmit a topology: programmatically

Programově můžete nasadit topologii s použitím služby Nimbus.You can programmatically deploy a topology using the Nimbus service. https://github.com/Azure-Samples/hdinsight-java-deploy-storm-topology poskytuje příklad, který ukazuje, jak nasadit a spustit topologii přes službu Nimbus aplikace v Javě.https://github.com/Azure-Samples/hdinsight-java-deploy-storm-topology provides an example Java application that demonstrates how to deploy and start a topology through the Nimbus service.

Monitorování a správa: Visual StudioMonitor and manage: Visual Studio

Při odesílání topologie pomocí sady Visual Studio topologií Storm zobrazení se zobrazí.When a topology is submitted using Visual Studio, the Storm Topologies view appears. Vyberte ze seznamu k zobrazení informací o topologii spuštěné topologie.Select the topology from the list to view information about the running topology.

monitorování sady Visual studio

Poznámka

Můžete také zobrazit topologií Storm z Průzkumníka serveru tak, že rozbalíte Azure > HDInsighta pak pravým tlačítkem cluster Storm v HDInsight a výběrem zobrazit topologie Storm.You can also view Storm Topologies from Server Explorer by expanding Azure > HDInsight, and then right-clicking a Storm on HDInsight cluster, and selecting View Storm Topologies.

Vyberte tvar spoutů a boltů zobrazíte informace o těchto součástí.Select the shape for the spouts or bolts to view information about these components. Otevře se nové okno pro každé vybrané položky.A new window opens for each item selected.

Deaktivovat a znovu aktivovatDeactivate and reactivate

Deaktivace topologii pozastaví ho, dokud nebude ukončen nebo znovu aktivovat.Deactivating a topology pauses it until it is killed or reactivated. Chcete-li provádět tyto operace, použijte deaktivovat a znovu aktivovat tlačítka v horní části souhrn topologie.To perform these operations, use the Deactivate and Reactivate buttons at the top of the Topology Summary.

Obnovit rovnováhuRebalance

Opětovné vyvážení topologii umožňuje systému revidovat paralelismus topologii.Rebalancing a topology allows the system to revise the parallelism of the topology. Pokud jste změnili velikost clusteru přidat další poznámky, například opětovné vyvážení umožňuje topologie zobrazíte nové uzly.For example, if you have resized the cluster to add more notes, rebalancing allows a topology to see the new nodes.

Chcete-li obnovit rovnováhu topologie, použijte obnovit rovnováhu tlačítko v horní části souhrn topologie.To rebalance a topology, use the Rebalance button at the top of the Topology Summary.

Varování

Opětovné vyvážení topologii nejprve deaktivuje topologii, pak rovnoměrně distribuuje pracovní procesy napříč clusterem a pak nakonec vrátí topologie do stavu, ve kterém se nacházel před nové vyvážení došlo k chybě.Rebalancing a topology first deactivates the topology, then redistributes workers evenly across the cluster, then finally returns the topology to the state it was in before rebalancing occurred. Takže pokud topologii je aktivní, je opět aktivní.So if the topology was active, it becomes active again. Pokud se deaktivovalo, zůstane deaktivované.If it was deactivated, it remains deactivated.

Ukončit topologiiKill a topology

Topologie Storm pokračovat, spuštění, dokud se zastaví nebo odstranění clusteru.Storm topologies continue running until they are stopped or the cluster is deleted. Chcete-li ukončit topologii, použijte Kill tlačítko v horní části souhrn topologie.To stop a topology, use the Kill button at the top of the Topology Summary.

Monitorování a správa: SSH a příkaz StormMonitor and manage: SSH and the Storm command

storm Nástroj umožňuje práci se spuštěnými topologiemi z příkazového řádku.The storm utility allows you to work with running topologies from the command line. Použití storm -h pro úplný seznam příkazů.Use storm -h for a full list of commands.

Seznam topologiíList topologies

Pomocí následujícího příkazu zobrazíte seznam všech topologií:Use the following command to list all running topologies:

storm list

Tento příkaz by měl vrátit informace podobné následujícímu textu:This command returns information similar to the following text:

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

Deaktivovat a znovu aktivovatDeactivate and reactivate

Deaktivace topologii pozastaví ho, dokud nebude ukončen nebo znovu aktivovat.Deactivating a topology pauses it until it is killed or reactivated. Deaktivovat a znovu aktivovat, použijte následující příkaz:Use the following command to deactivate and reactivate:

storm Deactivate TOPOLOGYNAME

storm Activate TOPOLOGYNAME

Ukončit probíhající topologiiKill a running topology

Po spuštění topologií Storm, pokračovat spuštění, dokud se zastavila.Storm topologies, once started, continue running until stopped. Pokud chcete ukončit topologii, použijte následující příkaz:To stop a topology, use the following command:

storm kill TOPOLOGYNAME

Obnovit rovnováhuRebalance

Opětovné vyvážení topologii umožňuje systému revidovat paralelismus topologii.Rebalancing a topology allows the system to revise the parallelism of the topology. Pokud jste změnili velikost clusteru přidat další poznámky, například opětovné vyvážení umožňuje topologie zobrazíte nové uzly.For example, if you have resized the cluster to add more notes, rebalancing allows a topology to see the new nodes.

Varování

Opětovné vyvážení topologii nejprve deaktivuje topologii, pak rovnoměrně distribuuje pracovní procesy napříč clusterem a pak nakonec vrátí topologie do stavu, ve kterém se nacházel před nové vyvážení došlo k chybě.Rebalancing a topology first deactivates the topology, then redistributes workers evenly across the cluster, then finally returns the topology to the state it was in before rebalancing occurred. Takže pokud topologii je aktivní, je opět aktivní.So if the topology was active, it becomes active again. Pokud se deaktivovalo, zůstane deaktivované.If it was deactivated, it remains deactivated.

storm rebalance TOPOLOGYNAME

Monitorování a správa: Storm UIMonitor and manage: Storm UI

Uživatelské rozhraní Storm poskytuje webové rozhraní pro práci se spuštěnými topologiemi a je součástí clusteru HDInsight.The Storm UI provides a web interface for working with running topologies, and is included on your HDInsight cluster. Chcete-li zobrazit uživatelské rozhraní Storm pomocí webového prohlížeče otevřete https://CLUSTERNAME.azurehdinsight.net/stormui, kde CLUSTERNAME je název vašeho clusteru.To view the Storm UI, use a web browser to open https://CLUSTERNAME.azurehdinsight.net/stormui, where CLUSTERNAME is the name of your cluster.

Poznámka

Pokud budete vyzváni k zadání uživatelského jména a hesla, zadejte správce clusteru (admin) a heslo použité při vytvoření clusteru.If asked to provide a user name and password, enter the cluster administrator (admin) and password that you used when creating the cluster.

Hlavní stránkaMain page

Hlavní stránka uživatelského rozhraní Storm poskytuje následující informace:The main page of the Storm UI provides the following information:

  • Souhrn clusteru: Základní informace o clusteru Storm.Cluster summary: Basic information about the Storm cluster.
  • Souhrn topologie: Seznam spuštěných topologií.Topology summary: A list of running topologies. Pomocí odkazů v této části můžete zobrazit další informace o konkrétních topologií.Use the links in this section to view more information about specific topologies.
  • Dohledové Souhrn: Informace o vedoucí Storm.Supervisor summary: Information about the Storm supervisor.
  • Konfigurace nimbus: Nimbus konfiguraci clusteru.Nimbus configuration: Nimbus configuration for the cluster.

Souhrn topologieTopology summary

Vyberte odkaz z souhrn topologie části zobrazí následující informace o topologii:Selecting a link from the Topology summary section displays the following information about the topology:

  • Souhrn topologie: Základní informace o topologii.Topology summary: Basic information about the topology.

  • Akce topologie: Akce správy, které můžete provést pro topologie.Topology actions: Management actions that you can perform for the topology.

    • Aktivovat: Obnoví zpracování deaktivované topologie.Activate: Resumes processing of a deactivated topology.

    • Deaktivovat: Pozastaví spuštěné topologie.Deactivate: Pauses a running topology.

    • Obnovit rovnováhu: Upraví paralelismus topologii.Rebalance: Adjusts the parallelism of the topology. Po změně počtu uzlů v clusteru musíte znovu vyvážit spuštěné topologie.You should rebalance running topologies after you have changed the number of nodes in the cluster. Tato operace umožňuje topologii upravovat paralelismus za účelem kompenzace zvýšení nebo snížení počtu uzlů v clusteru.This operation allows the topology to adjust parallelism to compensate for the increased or decreased number of nodes in the cluster.

      Další informace najdete v tématu pochopení paralelismu topologie Apache Storm.For more information, see Understanding the parallelism of an Apache Storm topology.

    • Ukončit: Ukončí topologii Storm po zadaný časový limit.Kill: Terminates a Storm topology after the specified timeout.

  • Statistiky topologie: Statistika týkající se topologie.Topology stats: Statistics about the topology. Pokud chcete nastavit časový rámec pro zbývající položky na stránce, použijte odkazy v okno sloupce.To set the timeframe for the remaining entries on the page, use the links in the Window column.

  • Spouts: Spoutů používat topologii.Spouts: The spouts used by the topology. Chcete-li zobrazit další informace o konkrétních funkcích spouts pomocí odkazů v této části.Use the links in this section to view more information about specific spouts.

  • Bolts: Bolty používat topologii.Bolts: The bolts used by the topology. Pomocí odkazů v této části můžete zobrazit další informace o konkrétních funkcích bolts.Use the links in this section to view more information about specific bolts.

  • Topologie konfigurace: Konfigurace vybraného topologie.Topology configuration: The configuration of the selected topology.

Spout a Bolt souhrnSpout and Bolt summary

Výběr spout z Spouts nebo Bolts části zobrazí následující informace o vybrané položce:Selecting a spout from the Spouts or Bolts sections displays the following information about the selected item:

  • Souhrn komponenty: Základní informace o funkcích spout nebo bolt.Component summary: Basic information about the spout or bolt.
  • Funkcí spout/Bolt statistiky: Statistické údaje o funkcích spout nebo bolt.Spout/Bolt stats: Statistics about the spout or bolt. Pokud chcete nastavit časový rámec pro zbývající položky na stránce, použijte odkazy v okno sloupce.To set the timeframe for the remaining entries on the page, use the links in the Window column.
  • Statistiky vstupu (pouze funkce bolt): Informace o vstupní datové proudy využívaná funkcí bolt.Input stats (bolt only): Information about the input streams consumed by the bolt.
  • Statististiky výstupu: Informace o datové proudy vyslané ve funkcích spout nebo bolt.Output stats: Information about the streams emitted by the spout or bolt.
  • Prováděcí moduly: Informace o instancích sady funkcích spout nebo bolt.Executors: Information about the instances of the spout or bolt. Vyberte Port vytvořený záznam pro konkrétní prováděcí modul zobrazení protokolu diagnostických informací pro tuto instanci.Select the Port entry for a specific executor to view a log of diagnostic information produced for this instance.
  • Chyby: Veškeré informace o chybě pro funkcích spout nebo bolt.Errors: Any error information for the spout or bolt.

Monitorování a správa: REST APIMonitor and manage: REST API

Uživatelské rozhraní Storm je postavený na rozhraní REST API, takže můžete provádět podobné správy a monitorování funkce pomocí rozhraní REST API.The Storm UI is built on top of the REST API, so you can perform similar management and monitoring functionality by using the REST API. Rozhraní REST API můžete použít k vytvoření vlastních nástrojů pro správu a monitorování topologií Storm.You can use the REST API to create custom tools for managing and monitoring Storm topologies.

Další informace najdete v tématu Apache Storm uživatelského rozhraní REST API.For more information, see Apache Storm UI REST API. Tyto informace je specifická pro Apache Storm v HDInsight pomocí rozhraní REST API.The following information is specific to using the REST API with Apache Storm on HDInsight.

Důležité

Rozhraní REST API Storm není veřejně přístupné přes internet a musí přistupovat přes tunelové propojení SSH k hlavnímu uzlu clusteru HDInsight.The Storm REST API is not publicly available over the internet, and must be accessed using an SSH tunnel to the HDInsight cluster head node. Informace o vytváření a používání tunelu SSH najdete v tématu používání tunelového propojení SSH pro přístup k webové uživatelské rozhraní Apache Ambari, ResourceManager, JobHistory, NameNode, Apache Oozie a dalším webovým uživatelským rozhraním.For information on creating and using an SSH tunnel, see Use SSH Tunneling to access Apache Ambari web UI, ResourceManager, JobHistory, NameNode, Apache Oozie, and other web UIs.

Základní identifikátor URIBase URI

Základní identifikátor URI pro rozhraní REST API v clusterech HDInsight založených na Linuxu je k dispozici na na hlavní uzel https://HEADNODEFQDN:8744/api/v1/.The base URI for the REST API on Linux-based HDInsight clusters is available on the head node at https://HEADNODEFQDN:8744/api/v1/. Název domény hlavního uzlu je generována při vytváření clusteru a není statická.The domain name of the head node is generated during cluster creation and is not static.

Plně kvalifikovaný název domény (FQDN) pro hlavní uzel clusteru najdete v několika různými způsoby:You can find the fully qualified domain name (FQDN) for the cluster head node in several different ways:

  • Z relace SSH: Použijte příkaz headnode -f z relace SSH do clusteru.From an SSH session: Use the command headnode -f from an SSH session to the cluster.
  • Z webu Ambari: Vyberte služby z horní části stránky vyberte Storm.From Ambari Web: Select Services from the top of the page, then select Storm. Z Souhrn kartu, vyberte možnost Server uživatelského rozhraní Storm.From the Summary tab, select Storm UI Server. Plně kvalifikovaný název domény uzlu, který je hostitelem Storm UI a rozhraní REST API se zobrazí v horní části stránky.The FQDN of the node that hosts the Storm UI and REST API is displayed at the top of the page.
  • Z rozhraní Ambari REST API: Použijte příkaz curl -u admin -G "https:\//CLUSTERNAME.azurehdinsight.net/api/v1/clusters/CLUSTERNAME/services/STORM/components/STORM_UI_SERVER" k načtení informací o uzlu, který se systémem Storm UI a rozhraní REST API.From Ambari REST API: Use the command curl -u admin -G "https:\//CLUSTERNAME.azurehdinsight.net/api/v1/clusters/CLUSTERNAME/services/STORM/components/STORM_UI_SERVER" to retrieve information about the node that the Storm UI and REST API are running on. Nahraďte CLUSTERNAME s názvem clusteru.Replace CLUSTERNAME with the cluster name. Po zobrazení výzvy zadejte heslo pro účet (správce).When prompted, enter the password for the login (admin) account. V odpovědi obsahuje položky "název_hostitele" plně kvalifikovaný název domény uzlu.In the response, the "host_name" entry contains the FQDN of the node.

AuthenticationAuthentication

Požadavky rozhraní REST API musí používat základní ověřování, takže se pomocí jména správce clusteru HDInsight a heslo.Requests to the REST API must use basic authentication, so you use the HDInsight cluster administrator name and password.

Poznámka

Protože odesílají základní ověřování pomocí prostého textu, měli byste vždy zabezpečená komunikace s využitím clusteru pomocí protokolu HTTPS.Because basic authentication is sent by using clear text, you should always use HTTPS to secure communications with the cluster.

Vrácené hodnotyReturn values

Použitelné z v rámci clusteru může být pouze informace vrácené z rozhraní REST API.Information that is returned from the REST API may only be usable from within the cluster. Například plně kvalifikovaný název domény (FQDN) vrátil pro Apache ZooKeeper serverů není přístupný z Internetu.For example, the fully qualified domain name (FQDN) returned for Apache ZooKeeper servers is not accessible from the Internet.

Další krokyNext Steps

Zjistěte, jak založené na jazyce Java vyvíjet topologie pomocí nástroje Apache Maven.Learn how to Develop Java-based topologies using Apache Maven.

Seznam Další příklad topologie najdete v tématu příklad topologií pro Apache Storm v HDInsight.For a list of more example topologies, see Example topologies for Apache Storm on HDInsight.