Använda SSH-tunnlar för att få åtkomst till Apache Ambari-webbgränssnittet, JobHistory, NameNode, Apache Oozie och andra användargränssnitt

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.

Därför ska du använda en SSH-tunnel

Flera av menyerna i Ambari fungerar bara via en SSH-tunnel. Menyerna är beroende av webbplatser och tjänster som körs på andra nodtyper, till exempel arbetsnoder.

Följande webbgränssnitt kräver en SSH-tunnel:

  • JobHistory
  • Namnnod
  • Trådstackar
  • Oozie-webbgränssnitt
  • HBase Master- och logggränssnitt

Tjänster som installeras med skriptåtgärder som exponerar en webbtjänst kräver en SSH-tunnel. Hue installerat med skriptåtgärden 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 dokumentet Ansluta HDInsight till ditt lokala nätverk.

Vad är en SSH-tunnel

SSH-tunnel (Secure Shell) 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 kom från 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

    STÖD FÖR SOCKS-proxy som är inbyggt i Windows Internetinställningar stöder inte SOCKS5 och fungerar inte med stegen i det här dokumentet. Följande webbläsare förlitar sig på Windows proxyinställningar 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å Windows proxyinställningar. Du kan dock installera tillägg som stöder SOCKS5. Vi rekommenderar FoxyProxy Standard.

Skapa en tunnel med SSH-kommandot

Använd följande kommando för att skapa en SSH-tunnel med ssh kommandot . Ersätt sshuser med en SSH-användare för ditt HDInsight-kluster och CLUSTERNAME ersätt 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 den lokala porten 9876 till klustret via SSH. Alternativen är:

Alternativ Beskrivning
D 9876 Den lokala porten som dirigerar trafik genom tunneln.
C Komprimera alla data, eftersom webbtrafiken huvudsakligen är text.
2 Tvinga SSH att testa endast protokollversion 2.
q Tyst läge.
T Inaktivera pseudoslumpallokering 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 har avslutats dirigeras trafik som skickas till port 9876 på den lokala datorn till klustrets huvudnod.

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:

    Egenskap 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 om dialogrutan expanderar du Anslutning, expanderar SSH och väljer sedan Tunnlar.

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

    Egenskap 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.

    Alternativ för PuTTY-konfigurationstunnlar

  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 till det.

Använda tunneln från webbläsaren

Viktigt

Stegen i det här avsnittet använder Mozilla FireFox-webbläsaren eftersom den tillhandahå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 som du använde:

    proxyinställningar för firefox-webbläsaren

    Anteckning

    Om du väljer Fjärr-DNS Domain Name System DNS-begäranden med hjälp av HDInsight-klustret. Den här inställningen matchar DNS med hjälp av klustrets huvudnod.

  2. Kontrollera att tunneln fungerar genom att besöka en plats som https://www.whatismyip.com/ . Ip-adressen som returneras ska vara en som används 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änstens webbgränssnitt 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 (admin) och lösenordet för klustret. Du kan uppmanas en andra gång av Ambari-webbgränssnittet. I så fall kan du återerera informationen.

    Anteckning

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

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

    Apache Ambari hdfs-tjänsten har valts

  3. När HDFS-tjänstinformationen visas väljer du Snabblänkar. En lista över klustrets huvudnoder visas. Välj en av huvudnoderna och välj sedan NameNode UI.

    Bild med quicklinks-menyn expanderad

    Anteckning

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

    Vissa poster i snabblänkar-menyn kan stängas av 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:

    Bild av Användargränssnittet för Hadoop NameNode

    Anteckning

    Observera 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 det interna fullständigt kvalificerade domännamnet (FQDN) för noden och är endast tillgängligt 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 se följande dokument för andra sätt att använda Ambari: