Usare il tunneling SSH per accedere all'interfaccia utente Web di Ambari, JobHistory, NameNode, Oozie e altre interfacce utente WebUse SSH Tunneling to access Ambari web UI, JobHistory, NameNode, Oozie, and other web UIs

I cluster HDInsight basati su Linux forniscono l’accesso all’interfaccia web di Ambari su internet, ma alcune funzionalità dell’interfaccia utente non ci sono.Linux-based HDInsight clusters provide access to Ambari web UI over the Internet, but some features of the UI are not. Ad esempio, l'interfaccia utente web per altri servizi che vengono rilevati tramite Ambari.For example, the web UI for other services that are surfaced through Ambari. Per la funzionalità completa dell'interfaccia utente web di Ambari, è necessario utilizzare un tunnel SSH all’head del cluster.For full functionality of the Ambari web UI, you must use an SSH tunnel to the cluster head.

Perché usare un tunnel SSHWhy use an SSH tunnel

Diversi menu di Ambari funzionano solo con un tunnel SSH.Several of the menus in Ambari only work through an SSH tunnel. Questi menu si basano su servizi e siti Web in esecuzione in altri tipi di nodi, ad esempio i nodi di lavoro.These menus rely on web sites and services running on other node types, such as worker nodes. Spesso questi siti web non sono protetti, pertanto non è opportuno esporli direttamente su internet.Often, these web sites are not secured, so it is not safe to directly expose them on the internet.

Le interfacce utente Web seguenti richiedono un tunnel SSH:The following Web UIs require an SSH tunnel:

  • JobHistoryJobHistory
  • NameNodeNameNode
  • Thread StacksThread Stacks
  • Interfaccia utente Web di OozieOozie web UI
  • HBase Master e l'interfaccia utente di LogHBase Master and Logs UI

Se si usano azioni script per personalizzare il cluster, tutti i servizi o le utilità installate che espongono un'interfaccia utente Web richiedono un tunnel SSH.If you use Script Actions to customize your cluster, any services or utilities that you install that expose a web UI require an SSH tunnel. Ad esempio, se si installa Hue utilizzando un'azione di Script, è necessario utilizzare un tunnel SSH per accedere all'interfaccia utente web di Hue.For example, if you install Hue using a Script Action, you must use an SSH tunnel to access the Hue web UI.

Importante

Se si ha accesso diretto a HDInsight tramite una rete virtuale, non è necessario usare tunnel SSH.If you have direct access to HDInsight through a virtual network, you do not need to use SSH tunnels. Per un esempio di accesso diretto a HDInsight tramite una rete virtuale, vedere il documento Connettere HDInsight alla rete locale.For an example of directly accessing HDInsight through a virtual network, see the Connect HDInsight to your on-premises network document.

Che cos'è un tunnel SSHWhat is an SSH tunnel

Il tunneling Secure Shell (SSH) instrada il traffico inviato a una porta nella workstation locale.Secure Shell (SSH) tunneling routes traffic sent to a port on your local workstation. Il traffico viene instradato tramite una connessione SSH al nodo head del cluster HDInsight.The traffic is routed through an SSH connection to your HDInsight cluster head node. La richiesta viene risolta come se fosse stata originata nel nodo head.The request is resolved as if it originated on the head node. La risposta viene instradata attraverso il tunnel alla workstation in uso.The response is then routed back through the tunnel to your workstation.

PrerequisitiPrerequisites

  • Un client SSH.An SSH client. La maggior parte dei sistemi operativi offre un client SSH tramite il comando ssh.Most operating systems provide an SSH client through the ssh command. Per altre informazioni, vedere Usare SSH con HDInsight.For more information, see Use SSH with HDInsight.

  • Un Web browser che può essere configurato per l'uso di un proxy SOCKS5.A web browser that can be configured to use a SOCKS5 proxy.

    Avviso

    Il supporto per il proxy SOCKS integrato in Windows non include il supporto per SOCKS5 e non può quindi essere usato per la procedura descritta in questo documento.The SOCKS proxy support built into Windows does not support SOCKS5, and does not work with the steps in this document. I browser seguenti si basano sulle impostazioni proxy di Windows e non possono essere usati per la procedura illustrata in questo documento:The following browsers rely on Windows proxy settings, and do not currently work with the steps in this document:

    • Microsoft EdgeMicrosoft Edge
    • Microsoft Internet ExplorerMicrosoft Internet Explorer

    Anche Google Chrome si basa sulle impostazioni proxy di Windows.Google Chrome also relies on the Windows proxy settings. In questo caso, tuttavia, è possibile installare estensioni che supportano SOCKS5,However, you can install extensions that support SOCKS5. tra cui FoxyProxy Standard (opzione consigliata).We recommend FoxyProxy Standard.

Creare un tunnel con il comando SSHCreate a tunnel using the SSH command

Utilizzare il comando seguente per creare un SSH tunnel utilizzando il comando ssh .Use the following command to create an SSH tunnel using the ssh command. Sostituire USERNAME con un utente SSH per il cluster HDInsight e CLUSTERNAME con il nome del cluster HDInsight:Replace USERNAME with an SSH user for your HDInsight cluster, and replace CLUSTERNAME with the name of your HDInsight cluster:

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

Questo comando crea una connessione che instrada il traffico alla porta locale 9876 al cluster su SSH.This command creates a connection that routes traffic to local port 9876 to the cluster over SSH. Le opzioni sono:The options are:

  • D 9876: la porta locale che instrada il traffico attraverso il tunnel.D 9876 - The local port that routes traffic through the tunnel.
  • C : comprime tutti i dati, in quanto il traffico Web è costituito prevalentemente da testo.C - Compress all data, because web traffic is mostly text.
  • 2 : forza SSH a tentare solo il protocollo versione 2.2 - Force SSH to try protocol version 2 only.
  • q : modalità non interattiva.q - Quiet mode.
  • T : disabilita l'allocazione pseudo-tty perché si tratta semplicemente dell'inoltro di una porta.T - Disable pseudo-tty allocation, since you are just forwarding a port.
  • n: impedisce la lettura di STDIN perché si tratta semplicemente dell'inoltro di una porta.n - Prevent reading of STDIN, since you are just forwarding a port.
  • N : non esegue un comando remoto perché si tratta semplicemente dell'inoltro di una porta.N - Do not execute a remote command, since you are just forwarding a port.
  • f : effettua l'esecuzione in background.f - Run in the background.

Al termine del comando, il traffico inviato alla porta 9876 nel computer locale viene instradato al nodo head del cluster.Once the command finishes, traffic sent to port 9876 on the local computer is routed to the cluster head node.

Creare un tunnel utilizzando PuTTYCreate a tunnel using PuTTY

PuTTY è un client SSH grafico per Windows.PuTTY is a graphical SSH client for Windows. Usare la procedura seguente per creare un tunnel SSH con PuTTY:Use the following steps to create an SSH tunnel using PuTTY:

  1. Aprire PuTTY e immettere le informazioni di connessione.Open PuTTY, and enter your connection information. Se non si ha familiarità con PuTTY, vedere la documentazione di PuTTY (http://www.chiark.greenend.org.uk/~sgtatham/putty/docs.html).If you are not familiar with PuTTY, see the PuTTY documentation (http://www.chiark.greenend.org.uk/~sgtatham/putty/docs.html).

  2. Nella sezione Category sul lato sinistro della finestra di dialogo espandere Connection, SSH e infine selezionare Tunnels.In the Category section to the left of the dialog, expand Connection, expand SSH, and then select Tunnels.

  3. Fornire le seguenti informazioni nel modulo Options controlling SSH port forwarding :Provide the following information on the Options controlling SSH port forwarding form:

    • Source port : la porta del client che si desidera inoltrare.Source port - The port on the client that you wish to forward. Ad esempio, 9876.For example, 9876.

    • Destination : l'indirizzo SSH del cluster HDInsight basato su Linux.Destination - The SSH address for the Linux-based HDInsight cluster. Ad esempio, mycluster-ssh.azurehdinsight.net.For example, mycluster-ssh.azurehdinsight.net.

    • Dynamic : consente il routing tramite proxy SOCKS dinamico.Dynamic - Enables dynamic SOCKS proxy routing.

      image of tunneling options

  4. Fare clic su Add per aggiungere le impostazioni, quindi su Open per aprire una connessione SSH.Click Add to add the settings, and then click Open to open an SSH connection.

  5. Quando richiesto, accedere al server.When prompted, log in to the server.

Usare il tunnel dal browserUse the tunnel from your browser

Importante

Nella procedura illustrata in questa sezione viene usato il browser Mozilla FireFox, poiché prevede le stesse impostazioni proxy per tutte le piattaforme.The steps in this section use the Mozilla FireFox browser, as it provides the same proxy settings across all platforms. È possibile che altri browser moderni, tra cui Google Chrome, richiedano un'estensione come FoxyProxy per poter interagire con il tunnel.Other modern browsers, such as Google Chrome, may require an extension such as FoxyProxy to work with the tunnel.

  1. Configurare il browser in modo che usi localhost e la porta usata al momento della creazione del tunnel come proxy SOCKS v5.Configure the browser to use localhost and the port you used when creating the tunnel as a SOCKS v5 proxy. Ecco visualizzate le impostazioni di Firefox.Here's what the Firefox settings look like. Se si usa una porta diversa da quella 9876, cambiare la porta con quella usata:If you used a different port than 9876, change the port to the one you used:

    image of Firefox settings

    Nota

    Se si seleziona Remote DNS, le richieste DNS (Domain Name System) vengono risolte usando il cluster HDInsight.Selecting Remote DNS resolves Domain Name System (DNS) requests by using the HDInsight cluster. Questa impostazione risolve DNS usando il nodo head del cluster.This setting resolves DNS using the head node of the cluster.

  2. Per verificare il funzionamento del tunnel, visitare un sito, ad esempio http://www.whatismyip.com/.Verify that the tunnel works by visiting a site such as http://www.whatismyip.com/. L'indirizzo IP restituito deve essere uno usato dal data center di Microsoft Azure.The IP returned should be one used by the Microsoft Azure datacenter.

Verificare con l’interfaccia utente web di AmbariVerify with Ambari web UI

Una volta stabilito il cluster, utilizzare la procedura seguente per verificare che sia possibile accedere all’interfaccia utente del servizio dal web Ambari:Once the cluster has been established, use the following steps to verify that you can access service web UIs from the Ambari Web:

  1. Nel browser passare a http://headnodehost:8080.In your browser, go to http://headnodehost:8080. L'indirizzo headnodehost viene inviato al cluster tramite il tunnel e quindi risolto nel nodo head in cui è in esecuzione Ambari.The headnodehost address is sent over the tunnel to the cluster and resolve to the headnode that Ambari is running on. Quando richiesto, immettere il nome dell'account amministratore (admin) e la password per il cluster.When prompted, enter the admin user name (admin) and password for your cluster. Può essere richiesto una seconda volta dall'interfaccia utente web di Ambari.You may be prompted a second time by the Ambari web UI. In tal caso, è necessario immettere nuovamente le informazioni.If so, reenter the information.

    Nota

    Quando si usa l'indirizzo http://headnodehost:8080 per connettersi al cluster, la connessione viene stabilita tramite il tunnel.When using the http://headnodehost:8080 address to connect to the cluster, you are connecting through the tunnel. La comunicazione viene protetta usando il tunnel SSH invece di HTTPS.Communication is secured using the SSH tunnel instead of HTTPS. Per connettersi a Internet tramite HTTPS, usare https://CLUSTERNAME.azurehdinsight.net, in cui CLUSTERNAME è il nome del cluster.To connect over the internet using HTTPS, use https://CLUSTERNAME.azurehdinsight.net, where CLUSTERNAME is the name of the cluster.

  2. Dall'interfaccia utente Web di Ambari, selezionare HDFS dall'elenco a sinistra della pagina.From the Ambari Web UI, select HDFS from the list on the left of the page.

    Immagine con HDFS selezionata

  3. Quando le informazioni del servizio HDFS vengono visualizzate, selezionare Collegamenti rapidi.When the HDFS service information is displayed, select Quick Links. Verrà visualizzato un elenco di nodi head del cluster.A list of the cluster head nodes appears. Selezionare uno dei nodi head e quindi selezionare l' interfaccia utente di NameNode.Select one of the head nodes, and then select NameNode UI.

    Immagine con il menu di collegamenti rapidi espanso

    Nota

    Quando si seleziona Quick Links (Collegamenti rapidi), è possibile che venga visualizzato un indicatore di attesa.When you select Quick Links, you may get a wait indicator. Questa condizione può verificarsi se la connessione Internet è lenta.This condition can occur if you have a slow internet connection. Attendere un minuto o due perché i dati vengano ricevuti dal server, poi riprovare con l'elenco.Wait a minute or two for the data to be received from the server, then try the list again.

    Alcune voci del menu Quick Links (Collegamenti rapidi) potrebbero risultare troncate sul lato destro della schermata.Some entries in the Quick Links menu may be cut off by the right side of the screen. In tal caso, espandere il menu con il mouse e usare il tasto freccia destra per scorrere la schermata verso destra e visualizzare il resto del menu.If so, expand the menu using your mouse and use the right arrow key to scroll the screen to the right to see the rest of the menu.

  4. Viene visualizzata una pagina simile all'immagine seguente:A page similar to the following image is displayed:

    Immagine dell'interfaccia utente di NameNode

    Nota

    Si noti l'URL della pagina, che dovrebbe essere simile a http://hn1-CLUSTERNAME.randomcharacters.cx.internal.cloudapp.net:8088/cluster.Notice the URL for this page; it should be similar to http://hn1-CLUSTERNAME.randomcharacters.cx.internal.cloudapp.net:8088/cluster. Questo URI usa il nome di dominio interno completo (FQDN) del nodo ed è accessibile solo quando si usa un tunnel SSH.This URI is using the internal fully qualified domain name (FQDN) of the node, and is only accessible when using an SSH tunnel.

Passaggi successiviNext steps

Dopo avere appreso come creare e usare un tunnel SSH, vedere il documento seguente per conoscere gli altri modi di usare Ambari:Now that you have learned how to create and use an SSH tunnel, see the following document for other ways to use Ambari:

Per altre informazioni sull'uso di SSH con HDInsight, vedere l'articolo Usare SSH con HDInsight.For more information on using SSH with HDInsight, see Use SSH with HDInsight.