Använda SSH-tunnlar för att komma åt Apache Ambari-webbgränssnittet, JobHistory, NameNode, Apache Oozie och andra UIs

HDInsight-kluster ger åtkomst till Apache Ambari-webbgränssnittet via Internet. Vissa funktioner kräver en SSH-tunnel. Apache Oozie-webbgränssnittet kan till exempel inte nås via Internet utan en SSH-tunnel.

Varför använda en SSH-tunnel

Flera av menyerna i Ambari fungerar bara genom en SSH-tunnel. Dessa menyer förlitar sig på webbplatser och tjänster som körs på andra nodtyper, till exempel arbetsnoder.

Följande webb-UIs kräver en SSH-tunnel:

  • JobHistory
  • Namnnod
  • Trådstackar
  • Oozie-webbgränssnitt
  • Användargränssnittet för HBase-huvud- och loggar

Tjänster som installeras med Skriptåtgärder som exponerar en webbtjänst kräver en SSH-tunnel. Hue som installeras med Skriptåtgärd kräver en SSH-tunnel för att få åtkomst till webbgränssnittet.

Viktigt!

Om du har direkt åtkomst till HDInsight via ett virtuellt nätverk behöver du inte använda SSH-tunnlar. Ett exempel på direktåtkomst till HDInsight via ett virtuellt nätverk finns i Anslut HDInsight till ditt lokala nätverksdokument.

Vad är en SSH-tunnel?

Secure Shell-tunnlar (SSH) ansluter en port på den lokala datorn till en huvudnod i HDInsight. Trafik som skickas till den lokala porten dirigeras via en SSH-anslutning till huvudnoden. Begäran matchas som om den har sitt ursprung på huvudnoden. Svaret dirigeras sedan tillbaka genom tunneln till din arbetsstation.

Förutsättningar

  • En SSH-klient. Mer information finns i Ansluta till HDInsight (Apache Hadoop) med hjälp av SSH.

  • En webbläsare som kan konfigureras för att använda en SOCKS5-proxy.

    Varning

    SOCKS-proxysupporten som är inbyggd i Windows Internet-inställningar stöder inte SOCKS5 och fungerar inte med stegen i det här dokumentet. Följande webbläsare förlitar sig på Inställningar för Windows-proxy och fungerar för närvarande inte med stegen i det här dokumentet:

    • Microsoft Edge
    • Microsoft Internet Explorer

    Google Chrome förlitar sig också på inställningarna för Windows-proxy. Du kan dock installera tillägg som stöder SOCKS5. Vi rekommenderar FoxyProxy Standard.

Skapa en tunnel med hjälp av SSH-kommandot

Använd följande kommando för att skapa en SSH-tunnel med kommandot ssh . Ersätt sshuser med en SSH-användare för DITT HDInsight-kluster och ersätt CLUSTERNAME med namnet på ditt HDInsight-kluster:

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

Det här kommandot skapar en anslutning som dirigerar trafik till lokal port 9876 till klustret via SSH. Alternativen är:

Alternativ Description
D 9876 Den lokala porten som dirigerar trafik genom tunneln.
C Komprimera alla data eftersom webbtrafik främst är text.
2 Tvinga endast SSH att prova protokollversion 2.
q Tyst läge.
T Inaktivera pseudo-tty-allokering eftersom du bara vidarebefordrar en port.
n Förhindra läsning av STDIN eftersom du bara vidarebefordrar en port.
N Kör inte ett fjärrkommando eftersom du bara vidarebefordrar en port.
f Kör i bakgrunden.

När kommandot är klart dirigeras trafik som skickas till port 9876 på den lokala datorn till klusterhuvudnoden.

Skapa en tunnel med PuTTY

PuTTY är en grafisk SSH-klient för Windows. Om du inte är bekant med PuTTY kan du läsa PuTTY-dokumentationen. Använd följande steg för att skapa en SSH-tunnel med PuTTY:

Skapa eller läsa in en session

  1. Öppna PuTTY och se till att Session är valt på den vänstra menyn. Om du redan har sparat en session väljer du sessionsnamnet i listan Sparade sessioner och väljer Läs in.

  2. Om du inte redan har en sparad session anger du anslutningsinformationen:

    Property Värde
    Värdnamn (eller IP-adress) SSH-adressen för HDInsight-klustret. Till exempel det här klustret-ssh.azurehdinsight.net.
    Port 22
    Anslutningstyp SSH
  3. Välj Spara

    HDInsight create putty session.

  4. I avsnittet Kategori till vänster i dialogrutan expanderar du Anslut ion, expanderar SSH och väljer sedan Tunnlar.

  5. Ange följande information i formuläret Alternativ som styr SSH-portvidarebefordring :

    Property Värde
    Källport Porten på klienten som du vill vidarebefordra. Till exempel 9876.
    Mål SSH-adressen för HDInsight-klustret. Till exempel det här klustret-ssh.azurehdinsight.net.
    Dynamisk Aktiverar dynamisk SOCKS-proxyroutning.

    PuTTY Configuration tunneling options.

  6. Välj Lägg till för att lägga till inställningarna och välj sedan Öppna för att öppna en SSH-anslutning.

  7. Logga in på servern när du uppmanas att göra det.

Använda tunneln från webbläsaren

Viktigt!

Stegen i det här avsnittet använder webbläsaren Mozilla FireFox eftersom den innehåller samma proxyinställningar på alla plattformar. Andra moderna webbläsare, till exempel Google Chrome, kan kräva ett tillägg som FoxyProxy för att arbeta med tunneln.

  1. Konfigurera webbläsaren så att den använder localhost och den port som du använde när du skapade tunneln som en SOCKS v5-proxy . Så här ser Firefox-inställningarna ut. Om du använde en annan port än 9876 ändrar du porten till den du använde:

    firefox browser proxy settings.

    Kommentar

    Om du väljer Fjärr-DNS matchas DNS-begäranden (Domain Name System) med hjälp av HDInsight-klustret. Den här inställningen löser DNS med hjälp av huvudnoden i klustret.

  2. Kontrollera att tunneln fungerar genom att besöka en plats, till exempel https://www.whatismyip.com/. Ip-adressen som returneras ska vara en som används av Microsoft Azure-datacentret.

Verifiera med Ambari-webbgränssnittet

När klustret har upprättats använder du följande steg för att kontrollera att du kan komma åt tjänstwebb-UIs från Ambari-webben:

  1. Gå till http://headnodehost:8080 i webbläsaren. Adressen headnodehost skickas via tunneln till klustret och matchas mot huvudnoden som Ambari körs på. När du uppmanas till det anger du administratörsanvändarnamnet (administratören) och lösenordet för klustret. Du kan uppmanas en andra gång av Ambari-webbgränssnittet. I så fall anger du informationen igen.

    Kommentar

    När du använder http://headnodehost:8080 adressen för att ansluta till klustret ansluter du genom tunneln. Kommunikationen skyddas med hjälp av SSH-tunneln i stället för HTTPS. Om du vill ansluta via Internet med HTTPS använder du https://clustername.azurehdinsight.net, där clustername är namnet på klustret.

  2. I Ambari-webbgränssnittet väljer du HDFS i listan till vänster på sidan.

    Apache Ambari hdfs service selected.

  3. När HDFS-tjänstinformationen visas väljer du Snabblänkar. En lista över klusterhuvudnoderna visas. Välj en av huvudnoderna och välj sedan NamnNodgränssnitt.

    Image with the QuickLinks menu expanded.

    Kommentar

    När du väljer Snabblänkar kan du få en vänteindikator. Det här villkoret kan inträffa om du har en långsam Internetanslutning. Vänta en minut eller två tills data tas emot från servern och försök sedan igen.

    Vissa poster i snabblänksmenyn kan vara avskurna till höger på skärmen. I så fall expanderar du menyn med musen och använder högerpilen för att rulla skärmen till höger för att se resten av menyn.

  4. En sida som liknar följande bild visas:

    Image of the Hadoop NameNode UI.

    Kommentar

    Lägg märke till URL:en för den här sidan. det bör likna http://hn*.randomcharacters.cx.internal.cloudapp.net:8088/cluster. Den här URI:n använder nodens interna fullständigt kvalificerade domännamn (FQDN) och är endast tillgänglig när du använder en SSH-tunnel.

Nästa steg

Nu när du har lärt dig hur du skapar och använder en SSH-tunnel kan du läsa följande dokument för andra sätt att använda Ambari: