

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Conexión al nodo principal del clúster de Amazon EMR mediante SSH
<a name="emr-connect-master-node-ssh"></a>

Secure Shell (SSH) es un protocolo de red que puede utilizar para crear una conexión segura a un equipo remoto. Después de realizar una conexión, el terminal en su equipo local se comporta como si se estuviera ejecutando en el equipo remoto. Los comandos que emita a nivel local se ejecutan en el equipo remoto y la salida de comandos desde el equipo remoto aparece en la ventana del terminal. 

Cuando usa SSH con AWS, se conecta a una instancia EC2, que es un servidor virtual que se ejecuta en la nube. Al trabajar con Amazon EMR, el uso más común de SSH consiste en conectarse a la instancia de EC2 que actúa como nodo principal del clúster.

El uso de SSH para conectarse al nodo principal le ofrece la posibilidad de monitorizar e interactuar con el clúster. Puede emitir comandos de Linux en el nodo principal, ejecutar aplicaciones como, por ejemplo, Hive y Pig de forma interactiva, examinar directorios, leer archivos de registro, etc. También puede crear un túnel en la conexión SSH para ver las interfaces web alojadas en el nodo principal. Para obtener más información, consulte [Ver las interfaces web alojadas en clústeres de Amazon EMR](emr-web-interfaces.md).

Para conectar con el nodo principal mediante SSH, necesita el nombre de DNS público del nodo principal. Además, el grupo de seguridad asociado al nodo principal debe tener una regla de entrada que permita el tráfico SSH (puerto TCP 22) desde un origen que incluya el cliente donde se origina la conexión SSH. Es posible que tenga que añadir una regla para permitir una conexión SSH de su cliente. Para obtener más información acerca de la modificación de reglas de los grupos de seguridad, consulte [Control del tráfico de red con grupos de seguridad para su clúster de Amazon EMR](emr-security-groups.md) y [Agregar reglas a un grupo de seguridad](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-network-security.html) en la *Guía del usuario de Amazon EC2*.

## Recuperar el nombre de DNS público del nodo principal
<a name="emr-connect-master-dns"></a>

Puede recuperar el nombre de DNS público principal utilizando la consola de Amazon EMR y la AWS CLI. 

------
#### [ Console ]

**Para recuperar el nombre de DNS público del nodo principal con la nueva consola**

1. [Inicie sesión en y abra la Consola de administración de AWS consola de Amazon EMR en https://console.aws.amazon.com /emr.](https://console.aws.amazon.com/emr)

1. En **EMR en EC2**, en el panel de navegación izquierdo, seleccione **Clústeres** y seleccione el clúster en el que desee recuperar el nombre de DNS público.

1. Anote el valor del **DNS público del nodo principal** en la sección **Resumen** de la página de detalles del clúster.

------
#### [ CLI ]<a name="emr-connect-master-dns-cli"></a>

**Para recuperar el nombre DNS público del nodo principal con el AWS CLI**

1. Para recuperar el identificador del clúster, escriba el siguiente comando.

   ```
   1. aws emr list-clusters
   ```

   El resultado muestra los clústeres, incluido el clúster IDs. Tenga en cuenta el ID del clúster al que se está conectando.

   ```
   "Status": {
       "Timeline": {
           "ReadyDateTime": 1408040782.374,
           "CreationDateTime": 1408040501.213
       },
       "State": "WAITING",
       "StateChangeReason": {
           "Message": "Waiting after step completed"
       }
   },
   "NormalizedInstanceHours": 4,
   "Id": "j-2AL4XXXXXX5T9",
   "Name": "My cluster"
   ```

1. Para obtener una lista de las instancias de clúster incluido el nombre de DNS público para el clúster, escriba uno de los siguientes comandos. *j-2AL4XXXXXX5T9*Sustitúyalo por el ID de clúster devuelto por el comando anterior.

   ```
   1. aws emr list-instances --cluster-id j-2AL4XXXXXX5T9
   ```

   O bien:

   ```
   aws emr describe-cluster --cluster-id j-2AL4XXXXXX5T9
   ```

   La salida enumera las instancias de clúster, incluidos nombres de DNS y las direcciones IP. Anote el valor para `PublicDnsName`. 

   ```
   "Status": {
       "Timeline": {
           "ReadyDateTime": 1408040779.263,
           "CreationDateTime": 1408040515.535
       },
       "State": "RUNNING",
       "StateChangeReason": {}
   },
   "Ec2InstanceId": "i-e89b45e7",
   "PublicDnsName": "ec2-###-##-##-###.us-west-2.compute.amazonaws.com"
   
   "PrivateDnsName": "ip-###-##-##-###.us-west-2.compute.internal",
   "PublicIpAddress": "##.###.###.##",
   "Id": "ci-12XXXXXXXXFMH",
   "PrivateIpAddress": "###.##.#.###"
   ```

Para más información, consulte [Comandos de Amazon EMR en la AWS CLI](https://docs.aws.amazon.com/cli/latest/reference/emr).

------

## Conectarse al nodo principal mediante SSH y una clave privada de Amazon EC2 en Linux, Unix y Mac OS X
<a name="emr-connect-linux"></a>

Para crear una conexión SSH autenticada con un archivo de clave privada, tendrá que especificar la clave privada del par de claves de Amazon EC2 al lanzar un clúster. Para obtener más información sobre el acceso al par de claves, consulte [Pares de claves de Amazon EC2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html) en la *Guía del usuario de Amazon EC2*.

Su equipo Linux muy probablemente incluye un cliente SSH de forma predeterminada. Por ejemplo, OpenSSH está instalado en la mayoría de los sistemas operativos Linux, Unix y macOS. Puede comprobar si tiene un cliente SSH escribiendo **ssh** en la línea de comandos. Si su equipo no reconoce el comando, instale un cliente SSH para conectarse al nodo principal. El proyecto OpenSSH ofrece una implementación gratuita de toda la suite de herramientas de SSH. Para obtener más información, consulte el sitio web [OpenSSH](http://www.openssh.org/).

Las siguientes instrucciones muestran la apertura de una conexión SSH al nodo principal de Amazon EMR en Linux, Unix y Mac OS X. <a name="emr-keypair-file-permission-config"></a>

**Para configurar los permisos de archivo de clave privada del par de claves**

Antes de poder utilizar la clave privada del par de claves de Amazon EC2 para crear una conexión SSH, debe establecer permisos en el archivo `.pem` de modo que solo el propietario de la clave tenga permiso para acceder a él. Esto es necesario para crear una conexión SSH mediante el terminal o el AWS CLI.

1. Asegúrese de permitir el tráfico SSH entrante. Para obtener instrucciones, consulte [Antes de conectarse a Amazon EMR: autorice el tráfico entrante](emr-connect-ssh-prereqs.md).

1. Localice su archivo `.pem`. Estas instrucciones suponen que el archivo se denomina `mykeypair.pem` y que se almacena en el directorio de inicio del usuario actual.

1. Escriba el comando siguiente para definir los permisos. *\$1/mykeypair.pem*Sustitúyalo por la ruta completa y el nombre del archivo de clave privada del par de claves. Por ejemplo, `C:/Users/<username>/.ssh/mykeypair.pem`.

   ```
   1. chmod 400 ~/mykeypair.pem
   ```

   Si no establece permisos en el archivo `.pem`, recibirá un error indicando que el archivo de clave no está protegido y la clave se rechazará. Para conectarse, solo tiene que establecer permisos en el archivo de clave privada del par de claves la primera vez que lo use.<a name="emr-ssh"></a>

**Para conectarse al nodo principal utilizando el terminal**

1. Abra una ventana de terminal. En Mac OS X, elija **Aplicaciones > Utilidades > Terminal**. En otras distribuciones de Linux, el terminal normalmente se encuentra en **Aplicaciones > Accesorios > Terminal**.

1. Para establecer una conexión al nodo principal, escriba el siguiente comando. *ec2-\$1\$1\$1-\$1\$1-\$1\$1-\$1\$1\$1.compute-1.amazonaws.com*Sustitúyalo por el nombre DNS público principal del clúster y *\$1/mykeypair.pem* sustitúyelo por la ruta completa y el nombre del `.pem` archivo. Por ejemplo, `C:/Users/<username>/.ssh/mykeypair.pem`.

   ```
   1. ssh hadoop@ec2-###-##-##-###.compute-1.amazonaws.com -i ~/mykeypair.pem
   ```
**importante**  
Debe utilizar el nombre de inicio de sesión `hadoop` cuando se conecte al nodo principal de Amazon EMR; de lo contrario, es posible que vea un error similar a `Server refused our key`.

1. Una advertencia indica que la autenticidad del host al que se está conectando no se puede verificar. Escriba `yes` para continuar.

1.  Cuando haya terminado de trabajar en el nodo principal, escriba el siguiente comando para cerrar la conexión SSH. 

   ```
   exit
   ```

Si tiene dificultades para usar SSH para conectarse a su nodo principal, consulte [Solucionar problemas de conexión a su instancia](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/TroubleshootingInstancesConnecting.html).

## Conectarse al nodo principal mediante SSH en Windows
<a name="emr-connect-win"></a>

Los usuarios de Windows pueden utilizar un cliente SSH como PuTTY para conectarse al nodo principal. Antes de conectarse al nodo principal de Amazon EMR, debe descargar e instalar PuTTY y PuTTY. TTYgen Puede descargar estas herramientas desde la [página de descarga de PuTTY](http://www.chiark.greenend.org.uk/~sgtatham/putty/).

PuTTY no admite de forma nativa el formato de archivo de clave privada del par de claves (`.pem`) generado por Amazon EC2. Utiliza Pu TTYgen para convertir el archivo clave al formato PuTTY requerido ()`.ppk`. Debe convertir su clave en este formato (`.ppk`) antes de intentar conectarse al nodo principal utilizando PuTTY.

Para obtener más información sobre la conversión de la clave, [consulte Convertir la clave privada mediante Pu TTYgen](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/putty.html) en la Guía del *usuario de Amazon EC2*.<a name="emr-ssh-windows"></a>

**Para conectarse al nodo principal utilizando PuTTY**

1. Asegúrese de permitir el tráfico SSH entrante. Para obtener instrucciones, consulte [Antes de conectarse a Amazon EMR: autorice el tráfico entrante](emr-connect-ssh-prereqs.md).

1. Abra `putty.exe`. También puede lanzar PuTTY desde la lista de programas de Windows. 

1. Si es necesario, en la lista **Category (Categoría)**, elija **Session (Sesión)**.

1. En **Nombre de host (o dirección IP)**, escriba `hadoop@`*MasterPublicDNS*. Por ejemplo: `hadoop@`*ec2-\$1\$1\$1-\$1\$1-\$1\$1-\$1\$1\$1.compute-1.amazonaws.com*. 

1. En la lista **Category (Categoría)**, elija **Connection > SSH (Conexión > SSH)**, **Auth (Autenticación)**.

1. En **Private key file for authentication (Archivo de clave privada para la autenticación)**, elija **Browse (Examinar)** y seleccione el archivo `.ppk` que ha generado. 

1. Selecciona **Abrir** y, a continuación, **Sí** para descartar la alerta de seguridad de PuTTY. 
**importante**  
Al iniciar sesión en el nodo principal, escriba `hadoop` si se le solicita un nombre de usuario.

1. Cuando haya terminado de trabajar en el nodo principal, puede cerrar la conexión SSH cerrando PuTTY;.
**nota**  
Para evitar que se supere el tiempo de espera de la conexión SSH, puede elegir **Connection (Conexión)** en la lista **Category (Categoría)** y seleccionar la opción **Enable TCP\$1keepalives (Habilitar conexiones keepalives de TCP)**. Si dispone de una sesión de SSH activa en PuTTY, puede cambiar la configuración abriendo el contexto (clic con el botón derecho) en la barra del título de PuTTY y seleccionar **Cambiar configuración**.

Si tiene dificultades para usar SSH para conectarse a su nodo principal, consulte [Solucionar problemas de conexión a su instancia](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/TroubleshootingInstancesConnecting.html).

## Conéctese al nodo principal mediante el AWS CLI
<a name="emr-connect-cli"></a>

Puede crear una conexión SSH con el nodo principal mediante Windows y Linux, Unix y Mac OS X. Independientemente de la plataforma, necesitará el nombre de DNS público del nodo principal y la clave privada del par de claves de Amazon EC2. AWS CLI Si utiliza Linux, Unix o Mac OS X, también debe configurar los permisos en el archivo de clave privada, tal y como se muestra en la `.ppk` siguiente. AWS CLI `.pem` [Para configurar los permisos de archivo de clave privada del par de claves](#emr-keypair-file-permission-config)<a name="emr-ssh-cli"></a>

**Para conectarse al nodo principal mediante el AWS CLI**

1. Asegúrese de permitir el tráfico SSH entrante. Para obtener instrucciones, consulte [Antes de conectarse a Amazon EMR: autorice el tráfico entrante](emr-connect-ssh-prereqs.md).

1. Para recuperar el identificador del clúster, escriba:

   ```
   1. aws emr list-clusters
   ```

   El resultado muestra los clústeres, incluido el clúster IDs. Tenga en cuenta el ID del clúster al que se está conectando.

   ```
   "Status": {
       "Timeline": {
           "ReadyDateTime": 1408040782.374,
           "CreationDateTime": 1408040501.213
       },
       "State": "WAITING",
       "StateChangeReason": {
           "Message": "Waiting after step completed"
       }
   },
   "NormalizedInstanceHours": 4,
   "Id": "j-2AL4XXXXXX5T9",
   "Name": "AWS CLI cluster"
   ```

1. Escriba el comando siguiente para abrir una conexión SSH al nodo principal. En el ejemplo siguiente, *j-2AL4XXXXXX5T9* sustitúyalo por el ID del clúster y *\$1/mykeypair.key* sustitúyelo por la ruta completa y el nombre del `.pem` archivo (para Linux, Unix y Mac OS X) o `.ppk` archivo (para Windows). Por ejemplo, `C:\Users\<username>\.ssh\mykeypair.pem`.

   ```
   aws emr ssh --cluster-id j-2AL4XXXXXX5T9 --key-pair-file ~/mykeypair.key						
   ```

1. Cuando haya terminado de trabajar en el nodo principal, cierre la AWS CLI ventana. 

   Para más información, consulte [Comandos de Amazon EMR en la AWS CLI](https://docs.aws.amazon.com/cli/latest/reference/emr). Si tiene dificultades para usar SSH para conectarse a su nodo principal, consulte [Solucionar problemas de conexión a su instancia](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/TroubleshootingInstancesConnecting.html).

# Puertos de servicio de Amazon EMR
<a name="emr-service-ports"></a>

**nota**  
A continuación se muestran las interfaces y los puertos de servicio para los componentes de Amazon EMR. Esta no es una lista completa de los puertos de servicio. Los servicios no predeterminados, como los puertos SSL y los distintos tipos de protocolos, no aparecen en la lista.

**importante**  
Actúe con precaución al editar las reglas de grupos de seguridad para abrir puertos. Asegúrese de agregar reglas que solo permitan el tráfico desde los clientes de confianza y autenticados para los protocolos y puertos necesarios para ejecutar las cargas de trabajo.

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/emr/latest/ManagementGuide/emr-service-ports.html)

# Ver las interfaces web alojadas en clústeres de Amazon EMR
<a name="emr-web-interfaces"></a>

**importante**  
Es posible configurar un grupo de seguridad personalizado para permitir el acceso entrante a estas interfaces web. Tenga en cuenta que cualquier puerto en el que permita el tráfico entrante representa una posible vulnerabilidad de seguridad. Revise con atención los grupos de seguridad personalizados para asegurarse de minimizar las vulnerabilidades. Para obtener más información, consulte [Control del tráfico de red con grupos de seguridad para su clúster de Amazon EMR](emr-security-groups.md).

Hadoop y otras aplicaciones que instale en el clúster de EMR, publican interfaces de usuario como sitios web alojados en el nodo principal. Por motivos de seguridad, cuando se utilizan grupos de seguridad administrados de Amazon EMR, estos sitios web solo están disponibles en el servidor web local del nodo principal. Por ese motivo, debe conectarse al nodo principal para ver las interfaces web. Para obtener más información, consulte [Conexión al nodo principal del clúster de Amazon EMR mediante SSH](emr-connect-master-node-ssh.md). Hadoop también publica las interfaces de usuario como sitios web alojados en los nodos secundarios y de tareas. Estos sitios web también se encuentran disponibles solo en servidores web locales en los nodos. 

En la tabla siguiente, se muestran las interfaces web que puede ver en las instancias de clúster. Estas interfaces de Hadoop están disponibles en todos los clústeres. Para las interfaces de la instancia maestra, *master-public-dns-name* sustitúyalas por el **DNS público maestro** que aparece en la pestaña **Resumen** del clúster de la consola de Amazon EMR. En el caso de las interfaces de instancias principales y de tareas, *coretask-public-dns-name* sustitúyalas por el **nombre de DNS público** que aparece en la lista de la instancia. Para buscar el **nombre DNS público** de una instancia, vaya a la consola de Amazon EMR, seleccione el clúster en la lista, seleccione la pestaña **Hardware**, seleccione el **ID** del grupo de instancias que contiene la instancia a la que desea conectarse y, a continuación, anote el **nombre DNS público** que aparece para la instancia.


|  Nombre de interfaz |   URI  | 
| --- | --- | 
| Servidor del historial de Flink (versión 5.33 y posteriores de EMR) | http: //:8082/ master-public-dns-name | 
| Ganglia | http:///ganglia/ master-public-dns-name | 
| Hadoop HDFS (versión NameNode EMR anterior a la 6.x) | http: master-public-dns-name //:50070/ | 
| Hadoop HDFS (versión NameNode EMR anterior a la 6.x) | master-public-dns-namehttps://:50470/ | 
| Hadoop HDFS ( NameNode EMR versión 6.x) | http: master-public-dns-name //:9870/ | 
| Hadoop HDFS ( NameNode EMR versión 6.x) | master-public-dns-namehttps://:9871/ | 
| Hadoop HDFS (versión DataNode EMR anterior a la 6.x) | http: coretask-public-dns-name //:50075/ | 
| Hadoop HDFS (versión DataNode EMR anterior a la 6.x) | coretask-public-dns-namehttps://:50475/ | 
| Hadoop HDFS ( DataNodeEMR versión 6.x) | http: coretask-public-dns-name //:9864/ | 
| Hadoop HDFS ( DataNode EMR versión 6.x) | https: coretask-public-dns-name //:9865/ | 
| HBase | http: //:16010/ master-public-dns-name | 
| Hue | http: //:8888/ master-public-dns-name | 
| JupyterHub | https: //:9443/ master-public-dns-name | 
| Livy | http: //:8998/ master-public-dns-name | 
| Chispa HistoryServer | http: //:18080/ master-public-dns-name | 
| Tez | http://:8080/tez-ui master-public-dns-name | 
| HILO NodeManager | http: //:8042/ coretask-public-dns-name | 
| HILO ResourceManager | http: //:8088/ master-public-dns-name | 
| Zeppelin | http: //:8890/ master-public-dns-name | 

Dado que hay varias interfaces específicas de aplicación disponibles en el nodo principal que no están disponibles en los nodos secundarios y de tarea, las instrucciones en este documento son específicas del nodo principal de Amazon EMR. El acceso a las interfaces web en los nodos secundarios y de tarea puede realizarse de la misma manera en que se accedería a las interfaces web en el nodo principal. 

Existen varias formas en las que puede acceder a las interfaces web en el nodo principal. El método más rápido y más sencillo consiste en utilizar SSH para conectarse al nodo principal y utilizar el navegador basado en texto, Lynx, para ver los sitios web en su cliente SSH. Sin embargo, Lynx es un navegador basado en texto con una interfaz de usuario limitada que no puede mostrar gráficos. El siguiente ejemplo muestra cómo abrir la ResourceManager interfaz de Hadoop mediante Lynx (los Lynx también URLs se proporcionan al iniciar sesión en el nodo principal mediante SSH). 

```
lynx http://ip-###-##-##-###.us-west-2.compute.internal:8088/
```

Existen dos opciones restantes para acceder a las interfaces web en el nodo principal que proporcionan una funcionalidad del navegador completa. Seleccione una de las siguientes opciones: 
+ Opción 1 (recomendada para usuarios más técnicos): utilice un cliente SSH para conectarse al nodo principal, configure el túnel SSH con enrutamiento de puertos local y utilice un navegador de Internet para abrir interfaces web alojadas en el nodo principal. Este método le permite configurar el acceso a la interfaz web sin usar un proxy SOCKS.
+ Opción 2 (recomendada para nuevos usuarios): utilice un cliente SSH para conectarse al nodo principal, configure la tunelización SSH con un reenvío dinámico de puertos y configure su navegador de Internet FoxyProxy para que utilice un complemento, como Firefox o Chrome, a fin de administrar la configuración del proxy SOCKS. SwitchyOmega Este método te permite filtrar automáticamente en URLs función de los patrones de texto y limitar la configuración del proxy a los dominios que coincidan con la forma del nombre DNS del nodo principal. Para obtener más información sobre cómo configurar FoxyProxy Firefox y Google Chrome, consulte[Opción 2, parte 2: configurar ajustes de proxy para ver sitios web alojados en el nodo principal del clúster de Amazon EMR](emr-connect-master-node-proxy.md).

**nota**  
Si modifica el puerto en el que se ejecuta una aplicación mediante la configuración de clúster, el hipervínculo al puerto no se actualizará en la consola de Amazon EMR. Esto se debe a que la consola no tiene la funcionalidad de leer la configuración de `server.port`.

Con Amazon EMR versión 5.25.0 o posterior, puede acceder a la interfaz de usuario del servidor del historial de Spark desde la consola sin configurar un proxy web a través de una conexión SSH. Para obtener más información, consulte [Acceso de un clic al servidor del historial de Spark persistente](https://docs.aws.amazon.com/emr/latest/ManagementGuide/app-history-spark-UI.html).

**Topics**
+ [Opción 1: configurar un túnel SSH al nodo principal de Amazon EMR utilizando el enrutamiento de puertos local](emr-ssh-tunnel-local.md)
+ [Opción 2, parte 1: configurar un túnel SSH al nodo principal utilizando el enrutamiento de puertos dinámico](emr-ssh-tunnel.md)
+ [Opción 2, parte 2: configurar ajustes de proxy para ver sitios web alojados en el nodo principal del clúster de Amazon EMR](emr-connect-master-node-proxy.md)

# Opción 1: configurar un túnel SSH al nodo principal de Amazon EMR utilizando el enrutamiento de puertos local
<a name="emr-ssh-tunnel-local"></a>

Para conectarse al servidor web local en el nodo principal, debe crear un túnel SSH entre su equipo y el nodo principal. Esto se conoce como *enrutamiento de puertos*. Si no desea utilizar un proxy SOCKS, puede configurar un túnel SSH al nodo principal a través del enrutamiento de puertos local. Con el enrutamiento de puertos local, especifique los puertos locales no utilizados que se utilizan para reenviar el tráfico a puertos remotos específicos en el servidor web local del nodo principal. 

La configuración de un túnel SSH utilizando el enrutamiento de puerto local requiere el nombre de DNS pública del nodo principal y el archivo de clave privado de par de claves. Para obtener información sobre cómo localizar el nombre de DNS público principal, consulte [Recuperar el nombre de DNS público del nodo principal](emr-connect-master-node-ssh.md#emr-connect-master-dns). Para obtener más información sobre el acceso al par de claves, consulte [Pares de claves de Amazon EC2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html) en la *Guía del usuario de Amazon EC2*. Para obtener más información sobre los sitios que podría desear ver en el nodo principal, consulte [Ver las interfaces web alojadas en clústeres de Amazon EMR](emr-web-interfaces.md).

## Configurar un túnel SSH al nodo principal utilizando el enrutamiento de puertos local con OpenSSH
<a name="ssh-tunnel-local-linux"></a><a name="tunnel-local-linux"></a>

**Para configurar un túnel SSH utilizando el enrutamiento de puertos local en terminal**

1. Asegúrese de permitir el tráfico SSH entrante. Para obtener instrucciones, consulte [Antes de conectarse a Amazon EMR: autorice el tráfico entrante](emr-connect-ssh-prereqs.md).

1. Abra una ventana de terminal. En Mac OS X, elija **Aplicaciones > Utilidades > Terminal**. En otras distribuciones de Linux, el terminal normalmente se encuentra en **Aplicaciones > Accesorios > Terminal**.

1. Escriba el siguiente comando para abrir un túnel SSH en su máquina local. Este comando de ejemplo accede a la interfaz ResourceManager web reenviando el tráfico del puerto local 8157 (un puerto local no utilizado elegido al azar) al puerto 8088 del servidor web local del nodo maestro. 

   En el comando, *\$1/mykeypair.pem* sustitúyalo por la ubicación y el nombre de archivo de tu `.pem` archivo y sustitúyelo por *ec2-\$1\$1\$1-\$1\$1-\$1\$1-\$1\$1\$1.compute-1.amazonaws.com* el nombre de DNS público maestro de tu clúster. Para acceder a una interfaz web diferente, `8088` sustitúyala por el número de puerto correspondiente. Por ejemplo, `8088` sustitúyalo `8890` por para la interfaz de Zeppelin.

   ```
   ssh -i ~/mykeypair.pem -N -L 8157:ec2-###-##-##-###.compute-1.amazonaws.com:8088 hadoop@ec2-###-##-##-###.compute-1.amazonaws.com
   ```

   `-L` hace referencia al uso de enrutamiento de puertos local que le permite especificar un puerto local utilizado para reenviar datos al puerto remoto identificado en el servidor web local del nodo principal.

   Después de emitir este comando, el terminal permanece abierto y no devuelve una respuesta. 

1. Para abrir la interfaz ResourceManager web en su navegador, escriba `http://localhost:8157/` en la barra de direcciones. 

1. Cuando haya terminado de trabajar con las interfaces web en el nodo principal, cierre las ventanas del terminal.

# Opción 2, parte 1: configurar un túnel SSH al nodo principal utilizando el enrutamiento de puertos dinámico
<a name="emr-ssh-tunnel"></a>

Para conectarse al servidor web local en el nodo principal, debe crear un túnel SSH entre su equipo y el nodo principal. Esto se conoce como *enrutamiento de puertos*. Si crea el túnel SSH con enrutamiento de puertos dinámico, todo el tráfico dirigido a un puerto local especificado sin utilizar se enruta al servidor web local en el nodo principal. Esto crea un proxy SOCKS. A continuación, puede configurar su navegador de Internet para usar un complemento, por ejemplo, FoxyProxy o SwitchyOmega para administrar la configuración del proxy SOCKS. 

El uso de un complemento de administración de proxy le permite filtrar automáticamente en URLs función de los patrones de texto y limitar la configuración del proxy a los dominios que coincidan con la forma del nombre DNS público del nodo principal. El complemento del navegador gestiona automáticamente la activación y desactivación del proxy al cambiar entre la visualización de sitios web alojados en el nodo principal y en Internet. 

Antes de comenzar, necesita el nombre de DNS pública del nodo principal y el archivo de clave privada del par de claves. Para obtener información sobre cómo localizar el nombre de DNS público principal, consulte [Recuperar el nombre de DNS público del nodo principal](emr-connect-master-node-ssh.md#emr-connect-master-dns). Para obtener más información sobre el acceso al par de claves, consulte [Pares de claves de Amazon EC2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html) en la *Guía del usuario de Amazon EC2*. Para obtener más información sobre los sitios que podría desear ver en el nodo principal, consulte [Ver las interfaces web alojadas en clústeres de Amazon EMR](emr-web-interfaces.md).

## Configurar un túnel SSH al nodo principal utilizando el enrutamiento de puertos dinámico con OpenSSH
<a name="emr-ssh-tunnel-linux"></a><a name="emr-ssh-tunnel-unix"></a>

**Para configurar un túnel SSH utilizando el enrutamiento de puertos dinámico con OpenSSH**

1. Asegúrese de permitir el tráfico SSH entrante. Para obtener instrucciones, consulte [Antes de conectarse a Amazon EMR: autorice el tráfico entrante](emr-connect-ssh-prereqs.md).

1. Abra una ventana de terminal. En Mac OS X, elija **Aplicaciones > Utilidades > Terminal**. En otras distribuciones de Linux, el terminal normalmente se encuentra en **Aplicaciones > Accesorios > Terminal**.

1. Escriba el siguiente comando para abrir un túnel SSH en su máquina local. *\$1/mykeypair.pem*Sustitúyala por la ubicación y el nombre del `.pem` archivo, *8157* sustitúyala por un número de puerto local no utilizado y *ec2-\$1\$1\$1-\$1\$1-\$1\$1-\$1\$1\$1.compute-1.amazonaws.com* sustitúyala por el nombre de DNS público principal del clúster. 

   ```
   1. ssh -i ~/mykeypair.pem -N -D 8157 hadoop@ec2-###-##-##-###.compute-1.amazonaws.com
   ```

   Después de emitir este comando, el terminal permanece abierto y no devuelve una respuesta. 
**nota**  
`-D` hace referencia al uso de enrutamiento de puertos dinámico que le permite especificar un puerto local utilizado para reenviar datos a todos los puertos remotos en el servidor web local del nodo principal. El enrutamiento de puertos dinámicos crea una escucha de proxy SOCKS local en el puerto especificado en el comando.

1. Una vez que el túnel está activo, configure un proxy SOCKS para su navegador. Para obtener más información, consulte [Opción 2, parte 2: configurar ajustes de proxy para ver sitios web alojados en el nodo principal del clúster de Amazon EMR](emr-connect-master-node-proxy.md).

1. Cuando haya terminado de trabajar con las interfaces web en el nodo principal, cierre la ventana del terminal.

## Configure un túnel SSH mediante el reenvío dinámico de puertos con AWS CLI
<a name="emr-ssh-tunnel-cli"></a>

Puede crear una conexión SSH con el nodo principal mediante Windows y Linux, Unix y Mac OS X. Si utiliza el nodo principal AWS CLI en Linux, Unix o Mac OS X, debe establecer los permisos en el archivo tal y como se muestra en la `.pem` siguiente. AWS CLI [Para configurar los permisos de archivo de clave privada del par de claves](emr-connect-master-node-ssh.md#emr-keypair-file-permission-config) Si está utilizando Windows, PuTTY debe aparecer en la variable de entorno path o podría recibir un error como OpenSSH o PuTTY no disponible. AWS CLI <a name="ssh-tunnel-cli"></a>

**Para configurar un túnel SSH mediante el reenvío dinámico de puertos con AWS CLI**

1. Asegúrese de permitir el tráfico SSH entrante. Para obtener instrucciones, consulte [Antes de conectarse a Amazon EMR: autorice el tráfico entrante](emr-connect-ssh-prereqs.md).

1. Crear una conexión SSH con el nodo principal, tal y como se muestra en [Conéctese al nodo principal mediante el AWS CLI](emr-connect-master-node-ssh.md#emr-connect-cli). 

1. Para recuperar el identificador del clúster, escriba:

   ```
   1. aws emr list-clusters
   ```

   El resultado muestra los clústeres, incluido el clúster. IDs Tenga en cuenta el ID del clúster al que se está conectando.

   ```
   "Status": {
       "Timeline": {
           "ReadyDateTime": 1408040782.374,
           "CreationDateTime": 1408040501.213
       },
       "State": "WAITING",
       "StateChangeReason": {
           "Message": "Waiting after step completed"
       }
   },
   "NormalizedInstanceHours": 4,
   "Id": "j-2AL4XXXXXX5T9",
   "Name": "AWS CLI cluster"
   ```

1. Escriba el siguiente comando para abrir un túnel SSH en el nodo principal mediante el enrutamiento de puertos dinámico. En el ejemplo siguiente, *j-2AL4XXXXXX5T9* sustitúyalo por el ID del clúster y *\$1/mykeypair.key* sustitúyelo por la ubicación y el nombre del `.pem` archivo (para Linux, Unix y Mac OS X) o `.ppk` archivo (para Windows).

   ```
   aws emr socks --cluster-id j-2AL4XXXXXX5T9 --key-pair-file ~/mykeypair.key						
   ```
**nota**  
El comando de socks configura automáticamente el enrutamiento de puertos dinámico en el puerto local 8157. Actualmente este ajuste no se puede modificar.

1. Una vez que el túnel está activo, configure un proxy SOCKS para su navegador. Para obtener más información, consulte [Opción 2, parte 2: configurar ajustes de proxy para ver sitios web alojados en el nodo principal del clúster de Amazon EMR](emr-connect-master-node-proxy.md).

1. Cuando haya terminado de trabajar con las interfaces web del nodo principal, cierre la AWS CLI ventana. 

   Para obtener más información sobre el uso de los comandos de Amazon EMR en AWS CLI, consulte. [https://docs.aws.amazon.com/cli/latest/reference/emr](https://docs.aws.amazon.com/cli/latest/reference/emr)

## Configurar un túnel SSH en el nodo principal mediante PuTTY
<a name="emr-ssh-tunnel-win"></a>

Los usuarios de Windows pueden utilizar un cliente SSH como PuTTY para crear un túnel SSH al nodo principal. Antes de conectarse al nodo principal de Amazon EMR, debe descargar e instalar PuTTY y PuTTY. TTYgen Puede descargar estas herramientas desde la [página de descarga de PuTTY](http://www.chiark.greenend.org.uk/~sgtatham/putty/).

PuTTY no admite de forma nativa el formato de archivo de clave privada del par de claves (`.pem`) generado por Amazon EC2. Utiliza Pu TTYgen para convertir el archivo clave al formato PuTTY requerido ()`.ppk`. Debe convertir su clave en este formato (`.ppk`) antes de intentar conectarse al nodo principal utilizando PuTTY.

Para obtener más información sobre la conversión de la clave, [consulte Convertir la clave privada mediante Pu TTYgen](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/putty.html) en la Guía del *usuario de Amazon EC2*.<a name="emr-ssh-tunnel-putty"></a>

**Para configurar un túnel SSH utilizando el enrutamiento de puertos dinámico en PuTTY**

1. Asegúrese de permitir el tráfico SSH entrante. Para obtener instrucciones, consulte [Antes de conectarse a Amazon EMR: autorice el tráfico entrante](emr-connect-ssh-prereqs.md).

1. Haga doble clic en `putty.exe` para iniciar PuTTY. También puede lanzar PuTTY desde la lista de programas de Windows. 
**nota**  
Si ya tiene una sesión de SSH activa con el nodo principal, puede agregar un túnel pulsando con el botón derecho del ratón en la barra del título de PuTTY y seleccionar **Cambiar configuración**. 

1. Si es necesario, en la lista **Category (Categoría)**, elija **Session (Sesión)**.

1. En el campo **Nombre de host**, escriba **hadoop@***MasterPublicDNS*. Por ejemplo: **hadoop@***ec2-\$1\$1\$1-\$1\$1-\$1\$1-\$1\$1\$1.compute-1.amazonaws.com*. 

1. En la lista **Category (Categoría)**, expanda **Connection > SSH (Conexión > SSH)** y, a continuación, elija **Auth (Autenticación)**.

1. En **Private key file for authentication (Archivo de clave privada para la autenticación)**, elija **Browse (Examinar)** y seleccione el archivo `.ppk` que ha generado. 
**nota**  
PuTTY no admite de forma nativa el formato de archivo de clave privada del par de claves (`.pem`) generado por Amazon EC2. Utiliza Pu TTYgen para convertir el archivo clave al formato PuTTY requerido ()`.ppk`. Debe convertir su clave en este formato (`.ppk`) antes de intentar conectarse al nodo principal utilizando PuTTY.

1. En la lista **Category (Categoría)**, expanda **Connection > SSH (Conexión > SSH)** y, a continuación, elija **Tunnels (Túneles)**. 

1. En el campo **Puerto de origen**, escriba `8157` (un puerto local no utilizado) y, a continuación, seleccione **Agregar**.

1. Deje el campo **Destination (Destino)** en blanco.

1. Seleccione las opciones **Dynamic (Dinámico)** y **Auto**.

1. Elija **Open**. 

1. Elija **Yes (Sí)** para descartar la alerta de seguridad de PuTTY.
**importante**  
Cuando inicia sesión en el nodo principal, escriba `hadoop` si se le solicita un nombre de usuario.

1. Una vez que el túnel está activo, configure un proxy SOCKS para su navegador. Para obtener más información, consulte [Opción 2, parte 2: configurar ajustes de proxy para ver sitios web alojados en el nodo principal del clúster de Amazon EMR](emr-connect-master-node-proxy.md).

1. Cuando haya terminado de trabajar con las interfaces web en el nodo principal, cierre la ventana de PuTTY. 

# Opción 2, parte 2: configurar ajustes de proxy para ver sitios web alojados en el nodo principal del clúster de Amazon EMR
<a name="emr-connect-master-node-proxy"></a>

Si utiliza un túnel de SSH con enrutamiento de puertos dinámico, debe utilizar un complemento de administración de proxy de SOCKS para controlar los ajustes del proxy en el navegador. El uso de una herramienta de administración de proxy SOCKS le permite filtrar automáticamente en URLs función de los patrones de texto y limitar la configuración del proxy a los dominios que coincidan con la forma del nombre DNS público del nodo principal. El complemento del navegador gestiona automáticamente la activación y desactivación del proxy al cambiar entre la visualización de sitios web alojados en el nodo principal y en Internet. Para administrar la configuración del proxy, configure su navegador para que utilice un complemento como FoxyProxy o SwitchyOmega. 

Para obtener más información acerca de la creación de un túnel de SSH, consulte [Opción 2, parte 1: configurar un túnel SSH al nodo principal utilizando el enrutamiento de puertos dinámico](emr-ssh-tunnel.md). Para obtener más información acerca de las interfaces web disponibles, consulte [Ver las interfaces web alojadas en clústeres de Amazon EMR](emr-web-interfaces.md). 



Incluya los siguientes ajustes cuando configure su complemento de proxy:
+ Use **localhost** como dirección de host.
+ Use el mismo número de puerto local que seleccionó para establecer el túnel SSH con el nodo principal en [Opción 2, parte 1: configurar un túnel SSH al nodo principal utilizando el enrutamiento de puertos dinámico](emr-ssh-tunnel.md). Por ejemplo, puerto*8157*. Este puerto también debe coincidir con el número de puerto que utiliza en PuTTY u en otro emulador de terminal que utilice para conectarse.
+ Especifique el protocolo **SOCKS v5**. SOCKS v5 le permite configurar de forma opcional la autorización de usuario.
+ **URL Patterns (Patrones de URL)**

  Los siguientes patrones de URL deben autorizarse y especificarse con un tipo de patrón comodín:
  + Los patrones **\$1ec2\$1.\$1compute\$1.amazonaws.com\$1** y **\$110\$1.amazonaws.com\$1** coinciden con el nombre de DNS público de los clústeres de las regiones de EE. UU.
  + Los patrones **\$1ec2\$1.compute\$1** y **\$110\$1.compute\$1** coinciden con el nombre de DNS público de los clústeres de todas las demás regiones.
  +  Un **10. **\$1 patrón para proporcionar acceso a los archivos de JobTracker registro de Hadoop. Modifique este filtro si entra en conflicto con su plan de acceso de red.
  + Los patrones **\$1.ec2.internal\$1** y **\$1.compute.internal\$1** hacen coincidir los nombres de DNS privados (internos) de los clústeres de la región `us-east-1` y de todas las demás regiones, respectivamente.

## Ejemplo: configurar para Firefox FoxyProxy
<a name="emr-connect-foxy-proxy-chrome"></a>

El siguiente ejemplo muestra una configuración FoxyProxy estándar (versión 7.5.1) para Mozilla Firefox.

FoxyProxy proporciona un conjunto de herramientas de administración de proxy. Le permite utilizar un servidor proxy para las URL que coincidan con los patrones correspondientes a los dominios utilizados por las instancias de Amazon EC2 de su clúster de Amazon EMR.<a name="foxy-proxy"></a>

**Para instalarlo y configurarlo FoxyProxy mediante Mozilla Firefox**

1. En Firefox, ve a [https://addons.mozilla.org/](https://addons.mozilla.org/), busca FoxyProxy Estándar y sigue las instrucciones para añadirlo FoxyProxy a Firefox.

1. Mediante un editor de texto, cree un archivo JSON denominado `foxyproxy-settings.json` con la siguiente configuración de ejemplo.

   ```
   {
     "k20d21508277536715": {
       "active": true,
       "address": "localhost",
       "port": 8157,
       "username": "",
       "password": "",
       "type": 3,
       "proxyDNS": true,
       "title": "emr-socks-proxy",
       "color": "#0055E5",
       "index": 9007199254740991,
       "whitePatterns": [
         {
           "title": "*ec2*.*compute*.amazonaws.com*",
           "active": true,
           "pattern": "*ec2*.*compute*.amazonaws.com*",
           "importedPattern": "*ec2*.*compute*.amazonaws.com*",
           "type": 1,
           "protocols": 1
         },
         {
           "title": "*ec2*.compute*",
           "active": true,
           "pattern": "*ec2*.compute*",
           "importedPattern": "*ec2*.compute*",
           "type": 1,
           "protocols": 1
         },
         {
           "title": "10.*",
           "active": true,
           "pattern": "10.*",
           "importedPattern": "http://10.*",
           "type": 1,
           "protocols": 2
         },
         {
           "title": "*10*.amazonaws.com*",
           "active": true,
           "pattern": "*10*.amazonaws.com*",
           "importedPattern": "*10*.amazonaws.com*",
           "type": 1,
           "protocols": 1
         },
         {
           "title": "*10*.compute*",
           "active": true,
           "pattern": "*10*.compute*",
           "importedPattern": "*10*.compute*",
           "type": 1,
           "protocols": 1
         },
         {
           "title": "*.compute.internal*",
           "active": true,
           "pattern": "*.compute.internal*",
           "importedPattern": "*.compute.internal*",
           "type": 1,
           "protocols": 1
         },
         {
           "title": "*.ec2.internal* ",
           "active": true,
           "pattern": "*.ec2.internal*",
           "importedPattern": "*.ec2.internal*",
           "type": 1,
           "protocols": 1
         }
       ],
       "blackPatterns": []
     },
     "logging": {
       "size": 100,
       "active": false
     },
     "mode": "patterns",
     "browserVersion": "68.12.0",
     "foxyProxyVersion": "7.5.1",
     "foxyProxyEdition": "standard"
   }
   ```

1. Abra la página **Administrar sus extensiones** de Firefox (vaya a **about:addons** y seleccione **Extensiones**).

1. Selecciona **FoxyProxy Estándar** y, a continuación, selecciona el botón de más opciones (el botón que tiene forma de puntos suspensivos).

1. Seleccione **Opciones** en el menú desplegable.

1. Seleccione **Importar ajustes** en el menú de la izquierda.

1. **En la página **Ajustes de importación**, selecciona **Ajustes** de **importación en Ajustes de importación a partir de la versión FoxyProxy 6.0**, busca la ubicación del `foxyproxy-settings.json` archivo que has creado, selecciona el archivo y selecciona Abrir.** 

1. Pulse **Aceptar** cuando se le pida para sobrescribir los ajustes existentes y guarde la nueva configuración.

## Ejemplo: configurar SwitchyOmega para Chrome
<a name="switchyomega"></a>

El siguiente ejemplo muestra cómo configurar la SwitchyOmega extensión para Google Chrome. SwitchyOmega permite configurar, administrar y cambiar entre varios proxies.

**Para instalarlo y configurarlo SwitchyOmega mediante Google Chrome**

1. Ve a la [https://chrome.google.com/webstore/categoría o extensiones](https://chrome.google.com/webstore/category/extensions), busca **Proxy** y SwitchyOmega añádelo a Chrome.

1. Seleccione **Nuevo perfil** e introduzca `emr-socks-proxy` como nombre del perfil.

1. Seleccione **Perfil de PAC** y, a continuación, **Crear**. Los archivos de [configuración automática de proxy (PAC)](https://developer.mozilla.org/en-US/docs/Web/HTTP/Proxy_servers_and_tunneling/Proxy_Auto-Configuration_(PAC)_file) le ayudan a definir una lista de permisos para las solicitudes del navegador que deben reenviarse a un servidor proxy web.

1. En el campo **PAC Script**, sustituya el contenido por el siguiente script, que define cuáles URLs deben reenviarse a través de su servidor proxy web. Si especificó un número de puerto diferente al configurar el túnel SSH, sustitúyalo por *8157* su número de puerto.

   ```
   function FindProxyForURL(url, host) {
       if (shExpMatch(url, "*ec2*.*compute*.amazonaws.com*")) return 'SOCKS5 localhost:8157';
       if (shExpMatch(url, "*ec2*.compute*")) return 'SOCKS5 localhost:8157';
       if (shExpMatch(url, "http://10.*")) return 'SOCKS5 localhost:8157';
       if (shExpMatch(url, "*10*.compute*")) return 'SOCKS5 localhost:8157';
       if (shExpMatch(url, "*10*.amazonaws.com*")) return 'SOCKS5 localhost:8157';
       if (shExpMatch(url, "*.compute.internal*")) return 'SOCKS5 localhost:8157';
       if (shExpMatch(url, "*ec2.internal*")) return 'SOCKS5 localhost:8157';
       return 'DIRECT';
   }
   ```

1. En **Acciones**, seleccione **Aplicar cambios** para guardar la configuración del proxy.

1. En la barra de herramientas de Chrome, elige SwitchyOmega y selecciona el `emr-socks-proxy` perfil.

## Acceder a una interfaz web en el navegador
<a name="connect-to-web-ui-browser"></a>

Para abrir una interfaz web, introduzca el nombre de DNS público de su nodo principal o de núcleo seguido del número de puerto de la interfaz seleccionada en la barra de direcciones del navegador. El siguiente ejemplo muestra la URL que debes introducir para conectarte al Spark HistoryServer.

```
http://master-public-dns-name:18080/				
```

Para obtener instrucciones sobre cómo recuperar el nombre de DNS público de un nodo, consulte [Recuperar el nombre de DNS público del nodo principal](emr-connect-master-node-ssh.md#emr-connect-master-dns). Para obtener una lista completa de la interfaz web URLs, consulte[Ver las interfaces web alojadas en clústeres de Amazon EMR](emr-web-interfaces.md).