Apache Storm topologieën implementeren en beheren in azure HDInsightDeploy and manage Apache Storm topologies on Azure HDInsight

In dit document leert u de basis beginselen van het beheren en bewaken van Apache Storm topologieën die worden uitgevoerd op Storm op HDInsight-clusters.In this document, learn the basics of managing and monitoring Apache Storm topologies running on Storm on HDInsight clusters.

VereistenPrerequisites

Een topologie verzenden: Visual StudioSubmit a topology: Visual Studio

De HDInsight-Hulpprogram Ma's kunnen worden gebruikt C# voor het verzenden of hybride topologieën naar uw Storm-cluster.The HDInsight Tools can be used to submit C# or hybrid topologies to your Storm cluster. In de volgende stappen wordt een voorbeeld toepassing gebruikt.The following steps use a sample application. Zie voor meer informatie over het maken van met de HDInsight-Hulpprogram Ma's topologieën ontwikkelen C# met de Hdinsight-Hulpprogram Ma's voor Visual Studio.For information about creating on using the HDInsight Tools, see Develop C# topologies using the HDInsight Tools for Visual Studio.

  1. Als u de nieuwste versie van de Data Lake-hulpprogram ma's voor Visual Studio nog niet hebt geïnstalleerd, raadpleegt u aan de slag met data Lake-Hulpprogram ma's voor 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.

    Notitie

    De Data Lake-Hulpprogram Ma's voor Visual Studio werden voorheen de HDInsight-Hulpprogram Ma's voor Visual Studio genoemd.The Data Lake Tools for Visual Studio were formerly called the HDInsight Tools for Visual Studio.

    Data Lake-Hulpprogram Ma's voor Visual Studio zijn opgenomen in de Azure-workload voor visual studio 2017.Data Lake Tools for Visual Studio are included in the Azure Workload for Visual Studio 2017.

  2. Open Visual Studio, selecteer bestand > Nieuw > project.Open Visual Studio, select File > New > Project.

  3. Vouw in het dialoog venster Nieuw project de optie geïnstalleerde > sjablonenuit en selecteer HDInsight.In the New Project dialog box, expand Installed > Templates, and then select HDInsight. Selecteer in de lijst met sjablonen Storm-voor beeld.From the list of templates, select Storm Sample. Typ onder in het dialoog venster een naam voor de toepassing.At the bottom of the dialog box, type a name for the application.

    image

  4. Klik in Solution Explorermet de rechter muisknop op het project en selecteer verzenden naar Storm op HDInsight.In Solution Explorer, right-click the project, and select Submit to Storm on HDInsight.

    Notitie

    Voer de aanmeldings referenties voor uw Azure-abonnement in als u hierom wordt gevraagd.If prompted, enter the login credentials for your Azure subscription. Als u meer dan één abonnement hebt, meldt u zich aan bij de versie die uw Storm in HDInsight-cluster bevat.If you have more than one subscription, log in to the one that contains your Storm on HDInsight cluster.

  5. Selecteer uw Storm op HDInsight-cluster in de vervolg keuzelijst Storm-cluster en selecteer vervolgens verzenden.Select your Storm on HDInsight cluster from the Storm Cluster drop-down list, and then select Submit. U kunt controleren of de verzen ding is geslaagd met behulp van het uitvoer venster.You can monitor whether the submission is successful by using the Output window.

Een topologie verzenden: SSH en de Storm-opdrachtSubmit a topology: SSH and the Storm command

  1. Gebruik SSH om verbinding te maken met het HDInsight-cluster.Use SSH to connect to the HDInsight cluster. Vervang username door de naam van uw SSH-aanmelding.Replace USERNAME the name of your SSH login. Vervang clustername door de naam van uw HDInsight-cluster:Replace CLUSTERNAME with your HDInsight cluster name:

     ssh USERNAME@CLUSTERNAME-ssh.azurehdinsight.net
    

    Zie SSH gebruiken met HDInsightvoor meer informatie over het gebruik van SSH om verbinding te maken met uw HDInsight-cluster.For more information on using SSH to connect to your HDInsight cluster, see Use SSH with HDInsight.

  2. Gebruik de volgende opdracht om een voorbeeldtopologie te starten: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
    

    Met deze opdracht wordt de WordCount-voorbeeldtopologie gestart op het cluster.This command starts the example WordCount topology on the cluster. Deze topologie genereert wille keurig zinnen en telt vervolgens het exemplaar van elk woord in de zinnen.This topology randomly generates sentences, and then counts the occurrence of each word in the sentences.

    Notitie

    Bij het indienen van de topologie bij het cluster moet u eerst het jar-bestand met het cluster kopiëren voordat u de opdracht storm gebruikt.When submitting topology to the cluster, you must first copy the jar file containing the cluster before using the storm command. U kunt de scp opdracht gebruiken om het bestand naar het cluster te kopiëren.To copy the file to the cluster, you can use the scp command. Bijvoorbeeld: scp FILENAME.jar USERNAME@CLUSTERNAME-ssh.azurehdinsight.net:FILENAME.jarFor example, scp FILENAME.jar USERNAME@CLUSTERNAME-ssh.azurehdinsight.net:FILENAME.jar

    Het WordCount-voorbeeld en andere Storm Starter-voorbeelden zijn al in uw cluster opgenomen in /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/.

Een topologie verzenden: programmatischSubmit a topology: programmatically

U kunt een topologie programmatisch implementeren met behulp van de Nimbus-service.You can programmatically deploy a topology using the Nimbus service. https://github.com/Azure-Samples/hdinsight-java-deploy-storm-topologybiedt een voor beeld van een Java-toepassing die laat zien hoe u een topologie kunt implementeren en starten via de Nimbus-service.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.

Controleren en beheren: Visual StudioMonitor and manage: Visual Studio

Wanneer een topologie wordt verzonden met behulp van Visual Studio, wordt de weer gave Storm-topologieën weer gegeven.When a topology is submitted using Visual Studio, the Storm Topologies view appears. Selecteer de topologie in de lijst om informatie over de actieve topologie weer te geven.Select the topology from the list to view information about the running topology.

monitor voor Visual Studio

Notitie

U kunt Storm- topologieën ook bekijken vanuit Server Explorer door Azure > HDInsightuit te vouwen, vervolgens met de rechter muisknop op een storm op HDInsight-cluster te klikken en Storm-topologieën weer gevente selecteren.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.

Selecteer de vorm voor de spouts of bouten om informatie over deze onderdelen weer te geven.Select the shape for the spouts or bolts to view information about these components. Er wordt een nieuw venster geopend voor elk geselecteerd item.A new window opens for each item selected.

Deactiveren en opnieuw activerenDeactivate and reactivate

Als u een topologie deactiveert, wordt deze onderbroken totdat deze is afgebroken of opnieuw geactiveerd.Deactivating a topology pauses it until it is killed or reactivated. Als u deze bewerkingen wilt uitvoeren, gebruikt u de knoppen deactiveren en opnieuw activeren boven aan het topologie overzicht.To perform these operations, use the Deactivate and Reactivate buttons at the top of the Topology Summary.

Opnieuw verdelenRebalance

Door een topologie te herverdelen kan het systeem de parallellisme van de topologie herzien.Rebalancing a topology allows the system to revise the parallelism of the topology. Als u bijvoorbeeld het formaat van het cluster hebt gewijzigd om meer notities toe te voegen, kunt u met herverdeling de nieuwe knoop punten weer geven met een topologie.For example, if you have resized the cluster to add more notes, rebalancing allows a topology to see the new nodes.

Als u een topologie wilt herverdelen, gebruikt u de knop opnieuw verdelen boven aan het topologie overzicht.To rebalance a topology, use the Rebalance button at the top of the Topology Summary.

Waarschuwing

Als u een topologie herbalanceert, wordt de topologie eerst gedeactiveerd, waarna de werk nemers gelijkmatig over het cluster worden gedistribueerd. vervolgens wordt de topologie met de status weer gegeven voordat deze is opgebalanceerd.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. Dus als de topologie actief was, wordt deze weer actief.So if the topology was active, it becomes active again. Als de service is gedeactiveerd, blijft deze gedeactiveerd.If it was deactivated, it remains deactivated.

Een topologie beëindigenKill a topology

Storm-topologieën blijven actief totdat ze worden gestopt of het cluster wordt verwijderd.Storm topologies continue running until they are stopped or the cluster is deleted. Als u een topologie wilt stoppen, gebruikt u de knop Kill aan de bovenkant van het topologie overzicht.To stop a topology, use the Kill button at the top of the Topology Summary.

Controleren en beheren: SSH en de Storm-opdrachtMonitor and manage: SSH and the Storm command

Met storm het hulp programma kunt u met het uitvoeren van topologieën werken vanaf de opdracht regel.The storm utility allows you to work with running topologies from the command line. Gebruiken storm -h voor een volledige lijst met opdrachten.Use storm -h for a full list of commands.

Topologieën weer gevenList topologies

Gebruik de volgende opdracht om een lijst met alle actieve topologieën weer te geven:Use the following command to list all running topologies:

storm list

Met deze opdracht wordt informatie geretourneerd die lijkt op de volgende tekst:This command returns information similar to the following text:

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

Deactiveren en opnieuw activerenDeactivate and reactivate

Als u een topologie deactiveert, wordt deze onderbroken totdat deze is afgebroken of opnieuw geactiveerd.Deactivating a topology pauses it until it is killed or reactivated. Gebruik de volgende opdracht om te deactiveren en opnieuw te activeren:Use the following command to deactivate and reactivate:

storm Deactivate TOPOLOGYNAME

storm Activate TOPOLOGYNAME

Een actieve topologie beëindigenKill a running topology

Storm-topologieën, zodra het is gestart, blijven actief totdat het wordt gestopt.Storm topologies, once started, continue running until stopped. Gebruik de volgende opdracht om een topologie te stoppen:To stop a topology, use the following command:

storm kill TOPOLOGYNAME

Opnieuw verdelenRebalance

Door een topologie te herverdelen kan het systeem de parallellisme van de topologie herzien.Rebalancing a topology allows the system to revise the parallelism of the topology. Als u bijvoorbeeld het formaat van het cluster hebt gewijzigd om meer notities toe te voegen, kunt u met herverdeling de nieuwe knoop punten weer geven met een topologie.For example, if you have resized the cluster to add more notes, rebalancing allows a topology to see the new nodes.

Waarschuwing

Als u een topologie herbalanceert, wordt de topologie eerst gedeactiveerd, waarna de werk nemers gelijkmatig over het cluster worden gedistribueerd. vervolgens wordt de topologie met de status weer gegeven voordat deze is opgebalanceerd.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. Dus als de topologie actief was, wordt deze weer actief.So if the topology was active, it becomes active again. Als de service is gedeactiveerd, blijft deze gedeactiveerd.If it was deactivated, it remains deactivated.

storm rebalance TOPOLOGYNAME

Controleren en beheren: Storm-gebruikers interfaceMonitor and manage: Storm UI

De Storm-gebruikersinterface biedt een webinterface voor het werken met actieve topologieën en is opgenomen in uw HDInsight-cluster.The Storm UI provides a web interface for working with running topologies, and is included on your HDInsight cluster. Als u de Storm-gebruikers interface wilt weer geven, gebruikt https://CLUSTERNAME.azurehdinsight.net/stormui u een webbrowser om te openen, waarbij clustername de naam van uw cluster is.To view the Storm UI, use a web browser to open https://CLUSTERNAME.azurehdinsight.net/stormui, where CLUSTERNAME is the name of your cluster.

Notitie

Als u wordt gevraagd een gebruikersnaam en een wachtwoord op te geven, voert u de gegevens voor de clusterbeheerder (admin) en het wachtwoord in die u hebt gebruikt toen u het cluster maakte.If asked to provide a user name and password, enter the cluster administrator (admin) and password that you used when creating the cluster.

Hoofd paginaMain page

De hoofd pagina van de Storm-gebruikers interface bevat de volgende informatie:The main page of the Storm UI provides the following information:

  • Cluster overzicht: Basis informatie over het Storm-cluster.Cluster summary: Basic information about the Storm cluster.
  • Topologie overzicht: Een lijst met actieve topologieën.Topology summary: A list of running topologies. Gebruik de koppelingen in deze sectie om meer informatie over specifieke topologieën te bekijken.Use the links in this section to view more information about specific topologies.
  • Overzicht Super Visor: Informatie over de Storm-Super Visor.Supervisor summary: Information about the Storm supervisor.
  • Nimbus-configuratie: Nimbus-configuratie voor het cluster.Nimbus configuration: Nimbus configuration for the cluster.

Topologie samenvattingTopology summary

Als u een koppeling selecteert in het gedeelte topologie overzicht , wordt de volgende informatie over de topologie weer gegeven:Selecting a link from the Topology summary section displays the following information about the topology:

  • Topologie overzicht: Basis informatie over de topologie.Topology summary: Basic information about the topology.

  • Topologie acties: Beheer acties die u voor de topologie kunt uitvoeren.Topology actions: Management actions that you can perform for the topology.

    • Activeren: Hervat de verwerking van een gedeactiveerde topologie.Activate: Resumes processing of a deactivated topology.

    • Deactiveren: Hiermee wordt een actieve topologie onderbroken.Deactivate: Pauses a running topology.

    • Herverdeling: Hiermee past u de parallellisme van de topologie aan.Rebalance: Adjusts the parallelism of the topology. Nadat u het aantal knooppunten in het cluster hebt gewijzigd, moet u actieve topologieën opnieuw verdelen.You should rebalance running topologies after you have changed the number of nodes in the cluster. Met deze bewerking kan de topologie de parallellisme aanpassen om het toegenomen of kleinere aantal knoop punten in het cluster te compenseren.This operation allows the topology to adjust parallelism to compensate for the increased or decreased number of nodes in the cluster.

      Zie informatie over de parallellisme van een Apache Storm topologievoor meer informatie.For more information, see Understanding the parallelism of an Apache Storm topology.

    • Afsluiten: Hiermee wordt een storm-topologie beëindigd na de opgegeven time-out.Kill: Terminates a Storm topology after the specified timeout.

  • Topologie statistieken: Statistieken over de topologie.Topology stats: Statistics about the topology. Als u het tijds bestek voor de resterende vermeldingen op de pagina wilt instellen, gebruikt u de koppelingen in de kolom venster .To set the timeframe for the remaining entries on the page, use the links in the Window column.

  • Spouts: De spouts die wordt gebruikt door de topologie.Spouts: The spouts used by the topology. Gebruik de koppelingen in deze sectie om meer informatie over specifieke spouts weer te geven.Use the links in this section to view more information about specific spouts.

  • Bouten: De schichten die door de topologie worden gebruikt.Bolts: The bolts used by the topology. Gebruik de koppelingen in deze sectie om meer informatie over specifieke schichten te bekijken.Use the links in this section to view more information about specific bolts.

  • Topologie configuratie: De configuratie van de geselecteerde topologie.Topology configuration: The configuration of the selected topology.

Samen vatting van Spout en SchichtSpout and Bolt summary

Als u een Spout selecteert in de secties Spouts of Bouts , wordt de volgende informatie over het geselecteerde item weer gegeven:Selecting a spout from the Spouts or Bolts sections displays the following information about the selected item:

  • Samen vatting van onderdelen: Basis informatie over de Spout of bout.Component summary: Basic information about the spout or bolt.
  • Spout/flits statistieken: Statistieken over de Spout of bout.Spout/Bolt stats: Statistics about the spout or bolt. Als u het tijds bestek voor de resterende vermeldingen op de pagina wilt instellen, gebruikt u de koppelingen in de kolom venster .To set the timeframe for the remaining entries on the page, use the links in the Window column.
  • Invoer statistieken (alleen flits): Informatie over de invoer stromen die door de schicht worden gebruikt.Input stats (bolt only): Information about the input streams consumed by the bolt.
  • Uitvoer statistieken: Informatie over de stromen die worden verzonden door de Spout of bout.Output stats: Information about the streams emitted by the spout or bolt.
  • Uitvoerendeers: Informatie over de instanties van de Spout of bout.Executors: Information about the instances of the spout or bolt. Selecteer de poort vermelding voor een specifieke uitvoerder om een logboek met diagnostische gegevens weer te geven die voor deze instantie zijn geproduceerd.Select the Port entry for a specific executor to view a log of diagnostic information produced for this instance.
  • Fouten: Eventuele fout gegevens voor de Spout of bout.Errors: Any error information for the spout or bolt.

Controleren en beheren: REST-APIMonitor and manage: REST API

De Storm-gebruikers interface is gebaseerd op de REST API, zodat u vergelijk bare beheer-en controle functionaliteit kunt uitvoeren met behulp van de 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. U kunt de REST API gebruiken om aangepaste hulp middelen te maken voor het beheren en bewaken van Storm-topologieën.You can use the REST API to create custom tools for managing and monitoring Storm topologies.

Zie Apache Storm UI rest APIvoor meer informatie.For more information, see Apache Storm UI REST API. De volgende informatie is specifiek voor het gebruik van de REST API met Apache Storm op HDInsight.The following information is specific to using the REST API with Apache Storm on HDInsight.

Belangrijk

De Storm-REST API is niet openbaar beschikbaar via internet en moet worden geopend met behulp van een SSH-tunnel naar het hoofd knooppunt van het HDInsight-cluster.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. Zie ssh-tunneling gebruiken om toegang te krijgen tot Apache Ambari Web UI, Resource Manager, JobHistory, NameNode, Apache Oozie en andere web-UIsvoor informatie over het maken en gebruiken van een SSH-tunnel.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.

Basis-URIBase URI

De basis-URI voor de rest API op op Linux gebaseerde HDInsight-clusters is beschikbaar op het hoofd knooppunt op 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/. De domein naam van het hoofd knooppunt wordt gegenereerd tijdens het maken van het cluster en is niet statisch.The domain name of the head node is generated during cluster creation and is not static.

U kunt de Fully Qualified Domain Name (FQDN) voor het hoofd knooppunt van het cluster op verschillende manieren vinden:You can find the fully qualified domain name (FQDN) for the cluster head node in several different ways:

  • Vanuit een SSH-sessie: Gebruik de opdracht headnode -f van een SSH-sessie naar het cluster.From an SSH session: Use the command headnode -f from an SSH session to the cluster.
  • Van Ambari-Web: Selecteer Services boven aan de pagina en selecteer vervolgens Storm.From Ambari Web: Select Services from the top of the page, then select Storm. Selecteer op het tabblad samen vatting de optie Storm-gebruikers interface Server.From the Summary tab, select Storm UI Server. De FQDN van het knoop punt dat als host fungeert voor de Storm-gebruikers interface en REST API wordt boven aan de pagina weer gegeven.The FQDN of the node that hosts the Storm UI and REST API is displayed at the top of the page.
  • Van Ambari rest API: Gebruik de opdracht curl -u admin -G "https:\//CLUSTERNAME.azurehdinsight.net/api/v1/clusters/CLUSTERNAME/services/STORM/components/STORM_UI_SERVER" om informatie op te halen over het knoop punt waarop de Storm-gebruikers interface en de rest API worden uitgevoerd.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. Vervang clustername door de naam van het cluster.Replace CLUSTERNAME with the cluster name. Wanneer u hierom wordt gevraagd, voert u het wacht woord in voor het account voor aanmelding (Administrator).When prompted, enter the password for the login (admin) account. In het antwoord bevat de vermelding ' host_name ' de FQDN-naam van het knoop punt.In the response, the "host_name" entry contains the FQDN of the node.

AuthenticationAuthentication

Aanvragen voor de REST API moeten basis verificatiegebruiken, dus u gebruikt de naam en het wacht woord van de HDInsight-cluster beheerder.Requests to the REST API must use basic authentication, so you use the HDInsight cluster administrator name and password.

Notitie

Omdat basis verificatie wordt verzonden met behulp van Lees bare tekst, moet u altijd https gebruiken om de communicatie met het cluster te beveiligen.Because basic authentication is sent by using clear text, you should always use HTTPS to secure communications with the cluster.

Retour waardenReturn values

Informatie die wordt geretourneerd door de REST API, kan alleen worden gebruikt vanuit het cluster.Information that is returned from the REST API may only be usable from within the cluster. Zo is de Fully Qualified Domain Name (FQDN) die voor Apache ZooKeeper servers wordt geretourneerd, niet toegankelijk vanaf internet.For example, the fully qualified domain name (FQDN) returned for Apache ZooKeeper servers is not accessible from the Internet.

Volgende stappenNext Steps

Meer informatie over het ontwikkelen van op Java gebaseerde topologieën met Apache Maven.Learn how to Develop Java-based topologies using Apache Maven.

Zie voorbeeld topologieën voor Apache Storm op HDInsightvoor een lijst met voor beeld-topologieën.For a list of more example topologies, see Example topologies for Apache Storm on HDInsight.