SSH-tunneling gebruiken voor toegang tot de webinterface van Apache Ambari, JobHistory, NameNode, Apache Oozie en andere UIs

HDInsight-clusters bieden toegang tot de Apache Ambari-webgebruikersinterface via internet. Voor sommige functies is een SSH-tunnel vereist. De webgebruikersinterface van Apache Oozie kan bijvoorbeeld niet worden geopend via internet zonder een SSH-tunnel.

Waarom een SSH-tunnel gebruiken

Verschillende menu's in Ambari werken alleen via een SSH-tunnel. Deze menu's zijn afhankelijk van websites en services die worden uitgevoerd op andere knooppunttypen, zoals werkknooppunten.

Voor de volgende web-URI's is een SSH-tunnel vereist:

  • JobHistory
  • NameNode
  • Threadstacks
  • Oozie-webgebruikersinterface
  • HBase-hoofd- en logboekgebruikersinterface

Services die zijn geïnstalleerd met scriptacties die een webservice beschikbaar maken, vereisen een SSH-tunnel. Hue geïnstalleerd met Script Action vereist een SSH-tunnel voor toegang tot de webgebruikersinterface.

Belangrijk

Als u rechtstreeks toegang hebt tot HDInsight via een virtueel netwerk, hoeft u geen SSH-tunnels te gebruiken. Zie de Verbinding maken HDInsight naar uw on-premises netwerkdocument voor een voorbeeld van rechtstreeks toegang tot HDInsight via een virtueel netwerk.

Wat is een SSH-tunnel?

Secure Shell-tunneling (SSH) verbindt een poort op uw lokale computer met een hoofdknooppunt in HDInsight. Verkeer dat naar de lokale poort wordt verzonden, wordt gerouteerd via een SSH-verbinding met het hoofdknooppunt. De aanvraag wordt opgelost alsof deze afkomstig is van het hoofdknooppunt. Het antwoord wordt vervolgens teruggeleid via de tunnel naar uw werkstation.

Vereisten

  • Een SSH-client. Zie voor meer informatie Verbinding maken met HDInsight (Apache Hadoop) via SSH.

  • Een webbrowser die kan worden geconfigureerd voor het gebruik van een SOCKS5-proxy.

    Waarschuwing

    De SOCKS-proxyondersteuning die is ingebouwd in windows-internetinstellingen biedt geen ondersteuning voor SOCKS5 en werkt niet met de stappen in dit document. De volgende browsers zijn afhankelijk van windows-proxyinstellingen en werken momenteel niet met de stappen in dit document:

    • Microsoft Edge
    • Microsoft Internet Explorer

    Google Chrome is ook afhankelijk van de Windows-proxyinstellingen. U kunt echter extensies installeren die ondersteuning bieden voor SOCKS5. We raden FoxyProxy Standard aan.

Een tunnel maken met behulp van de SSH-opdracht

Gebruik de volgende opdracht om een SSH-tunnel te maken met behulp van de ssh opdracht. Vervang sshuser door een SSH-gebruiker voor uw HDInsight-cluster en vervang deze door CLUSTERNAME de naam van uw HDInsight-cluster:

ssh -C2qTnNf -D 9876 sshuser@CLUSTERNAME-ssh.azurehdinsight.net

Met deze opdracht maakt u een verbinding waarmee verkeer wordt gerouteerd naar lokale poort 9876 naar het cluster via SSH. De opties zijn:

Optie Omschrijving
D 9876 De lokale poort waarmee verkeer via de tunnel wordt gerouteerd.
E Alle gegevens comprimeren, omdat webverkeer voornamelijk tekst is.
2 Dwing SSH om alleen protocolversie 2 uit te proberen.
k Stille modus.
T Schakel pseudo-tty-toewijzing uit, omdat u alleen een poort doorstuurt.
n Voorkomen dat STDIN wordt gelezen, omdat u alleen een poort doorstuurt.
N Voer geen externe opdracht uit, omdat u alleen een poort doorstuurt.
f Op de achtergrond uitvoeren.

Zodra de opdracht is voltooid, wordt verkeer dat wordt verzonden naar poort 9876 op de lokale computer doorgestuurd naar het hoofdknooppunt van het cluster.

Een tunnel maken met PuTTY

PuTTY is een grafische SSH-client voor Windows. Als u niet bekend bent met PuTTY, raadpleegt u de PuTTY-documentatie. Gebruik de volgende stappen om een SSH-tunnel te maken met PuTTY:

Een sessie maken of laden

  1. Open PuTTY en zorg ervoor dat Sessie is geselecteerd in het linkermenu. Als u een sessie al hebt opgeslagen, selecteert u de sessienaam in de lijst Opgeslagen sessies en selecteert u Laden.

  2. Als u nog geen opgeslagen sessie hebt, voert u de verbindingsgegevens in:

    Eigenschappen Weergegeven als
    Hostnaam (of IP-adres) Het SSH-adres voor het HDInsight-cluster. Bijvoorbeeld mijncluster-ssh.azurehdinsight.net.
    Poort 22
    Type verbinding SSH
  3. Selecteer Opslaan

    HDInsight create putty session.

  4. Vouw in de sectie Categorie links van het dialoogvenster Verbinding maken ion uit, vouw SSH uit en selecteer vervolgens Tunnels.

  5. Geef de volgende informatie op in het formulier Opties voor het doorsturen van SSH-poorten:

    Eigenschappen Weergegeven als
    Bronpoort De poort op de client die u wilt doorsturen. Bijvoorbeeld 9876.
    Doel Het SSH-adres voor het HDInsight-cluster. Bijvoorbeeld mijncluster-ssh.azurehdinsight.net.
    Dynamisch Hiermee schakelt u dynamische SOCKS-proxyroutering in.

    PuTTY Configuration tunneling options.

  6. Selecteer Toevoegen om de instellingen toe te voegen en selecteer Vervolgens Openen om een SSH-verbinding te openen.

  7. Meld u aan bij de server wanneer u hierom wordt gevraagd.

De tunnel vanuit uw browser gebruiken

Belangrijk

In de stappen in deze sectie wordt de Mozilla FireFox-browser gebruikt, omdat deze dezelfde proxy-instellingen biedt op alle platforms. Andere moderne browsers, zoals Google Chrome, vereisen mogelijk een extensie zoals FoxyProxy om met de tunnel te werken.

  1. Configureer de browser voor het gebruik van localhost en de poort die u hebt gebruikt bij het maken van de tunnel als een SOCKS v5-proxy . Hier ziet u hoe de Firefox-instellingen eruitzien. Als u een andere poort dan 9876 hebt gebruikt, wijzigt u de poort in de poort die u hebt gebruikt:

    firefox browser proxy settings.

    Notitie

    Als u Remote DNS selecteert, worden DNS-aanvragen (Domain Name System) omgezet met behulp van het HDInsight-cluster. Met deze instelling wordt DNS omgezet met behulp van het hoofdknooppunt van het cluster.

  2. Controleer of de tunnel werkt door naar een site te gaan, zoals https://www.whatismyip.com/. Het geretourneerde IP-adres moet één worden gebruikt door het Microsoft Azure-datacenter.

Verifiëren met ambari-webinterface

Zodra het cluster tot stand is gebracht, gebruikt u de volgende stappen om te controleren of u toegang hebt tot web-URL's van de Service via het Ambari-web:

  1. Ga in uw browser naar http://headnodehost:8080. Het headnodehost adres wordt via de tunnel naar het cluster verzonden en omgezet in het hoofdknooppunt waarop Ambari wordt uitgevoerd. Wanneer u hierom wordt gevraagd, voert u de gebruikersnaam (beheerder) en het wachtwoord voor uw cluster in. Mogelijk wordt u een tweede keer gevraagd door de Ambari-webgebruikersinterface. Zo ja, voer de gegevens opnieuw in.

    Notitie

    Wanneer u het http://headnodehost:8080 adres gebruikt om verbinding te maken met het cluster, maakt u verbinding via de tunnel. Communicatie wordt beveiligd met behulp van de SSH-tunnel in plaats van HTTPS. Als u verbinding wilt maken via internet via HTTPS, gebruikt https://clustername.azurehdinsight.netu , waar clustername is de naam van het cluster.

  2. Selecteer HDFS in de Ambari-webinterface in de lijst aan de linkerkant van de pagina.

    Apache Ambari hdfs service selected.

  3. Wanneer de HDFS-servicegegevens worden weergegeven, selecteert u Snelle koppelingen. Er wordt een lijst met de hoofdknooppunten van het cluster weergegeven. Selecteer een van de hoofdknooppunten en selecteer vervolgens NameNode UI.

    Image with the QuickLinks menu expanded.

    Notitie

    Wanneer u Snelle koppelingen selecteert, krijgt u mogelijk een wachtindicator. Deze situatie kan optreden als u een trage internetverbinding hebt. Wacht enkele minuten totdat de gegevens van de server zijn ontvangen en probeer de lijst opnieuw.

    Sommige items in het menu Snelle koppelingen kunnen worden afgekapt aan de rechterkant van het scherm. Als dat het zo is, vouwt u het menu uit met de muis en gebruikt u de pijl-rechts om het scherm naar rechts te schuiven om de rest van het menu weer te geven.

  4. Er wordt een pagina weergegeven die lijkt op de volgende afbeelding:

    Image of the Hadoop NameNode UI.

    Notitie

    Let op de URL voor deze pagina; het moet vergelijkbaar zijn met http://hn*.randomcharacters.cx.internal.cloudapp.net:8088/cluster. Deze URI gebruikt de interne FQDN (Fully Qualified Domain Name) van het knooppunt en is alleen toegankelijk wanneer u een SSH-tunnel gebruikt.

Volgende stappen

Nu u hebt geleerd hoe u een SSH-tunnel maakt en gebruikt, raadpleegt u het volgende document voor andere manieren om Ambari te gebruiken: