Conéctese al nodo principal mediante SSH - Amazon EMR

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.

Conéctese al nodo principal mediante SSH

Secure Shell (SSH) es un protocolo de red que puede utilizar para crear una conexión segura a un ordenador 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 se usa SSH con AWS, se está conectando a una EC2 instancia, que es un servidor virtual que se ejecuta en la nube. Cuando se trabaja con AmazonEMR, el uso más común SSH es conectarse a la EC2 instancia que actúa como nodo principal del clúster.

Si SSH se utiliza para conectarse al nodo principal, podrá monitorizar el clúster e interactuar con él. 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 SSH conexión para ver las interfaces web alojadas en el nodo principal. Para obtener más información, consulte Ver las interfaces web alojadas en los EMR clústeres de Amazon.

Para conectarse al nodo principal medianteSSH, necesitará el DNS nombre 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 (TCPpuerto 22) desde una fuente que incluya el cliente en el que se origina la SSH conexión. Es posible que deba agregar una regla para permitir una SSH conexión desde su cliente. Para obtener más información sobre la modificación de las reglas de los grupos de seguridad, consulte Control del tráfico de red con grupos de seguridad Añadir reglas a un grupo de seguridad en la Guía del EC2 usuario de Amazon.

Recupera el DNS nombre público del nodo principal

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

Console
Para recuperar el DNS nombre público del nodo principal con la nueva consola
  1. Inicie sesión en AWS Management Console y abre la EMR consola de Amazon en https://console.aws.amazon.com/emr.

  2. EMREC2En el panel de navegación izquierdo, selecciona Clústeres y, a continuación, selecciona el clúster en el que quieres recuperar el nombre públicoDNS.

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

CLI
Para recuperar el DNS nombre público del nodo principal con la AWS CLI
  1. Para recuperar el identificador del clúster, escriba el siguiente comando.

    aws emr list-clusters

    El resultado muestra los clústeres, incluido el clústerIDs. 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"
  2. Para enumerar las instancias del clúster, incluido el DNS nombre público del clúster, escriba uno de los siguientes comandos. Reemplazar j-2AL4XXXXXX5T9 con el ID de clúster devuelto por el comando anterior.

    aws emr list-instances --cluster-id j-2AL4XXXXXX5T9

    O bien:

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

    El resultado muestra las instancias del clúster, incluidos DNS los nombres 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 obtener más información, consulta los EMR comandos de Amazon en la AWS CLI.

Conéctese al nodo principal con SSH una clave EC2 privada de Amazon en Linux, Unix y Mac OS X

Para crear una SSH conexión autenticada con un archivo de clave privada, debes especificar la EC2 clave privada del par de claves de Amazon al lanzar un clúster. Para obtener más información sobre cómo acceder a tu par de claves, consulta los pares de EC2 claves de Amazon en la Guía del EC2 usuario de Amazon.

Lo más probable es que su ordenador Linux incluya un SSH cliente de forma predeterminada. Por ejemplo, Open SSH está instalado en la mayoría de los sistemas operativos Linux, Unix y macOS. Para comprobar si hay un SSH cliente, escriba ssh en la línea de comandos. Si su equipo no reconoce el comando, instale un SSH cliente para conectarse al nodo principal. El SSH proyecto Open proporciona una implementación gratuita de todo el conjunto de SSH herramientas. Para obtener más información, consulte el SSH sitio web de Open.

Las siguientes instrucciones muestran cómo abrir una SSH conexión al nodo EMR principal de Amazon en Linux, Unix y Mac OS X.

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

Antes de poder usar la EC2 clave privada del par de claves de Amazon para crear una SSH conexión, debes configurar los permisos en el .pem archivo para que solo el propietario de la clave tenga permiso para acceder al archivo. Esto es necesario para crear una SSH conexión mediante un terminal o el AWS CLI.

  1. Asegúrese de permitir el SSH tráfico entrante. Para obtener instrucciones, consulte Antes de conectarse: autorice el tráfico entrante.

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

  3. Escriba el comando siguiente para definir los permisos. Reemplazar ~/mykeypair.pem con la ruta completa y el nombre del archivo de clave privada del par de claves. Por ejemplo, C:/Users/<username>/.ssh/mykeypair.pem.

    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.

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.

  2. Para establecer una conexión al nodo principal, escriba el siguiente comando. Reemplazar ec2-###-##-##-###.compute-1.amazonaws.com con el DNS nombre público principal de su clúster y sustitúyalo ~/mykeypair.pem con la ruta completa y el nombre del .pem archivo. Por ejemplo, C:/Users/<username>/.ssh/mykeypair.pem.

    ssh hadoop@ec2-###-##-##-###.compute-1.amazonaws.com -i ~/mykeypair.pem
    importante

    Debes usar el nombre de inicio de sesión hadoop cuando te conectes al nodo EMR principal de Amazon; de lo contrario, es posible que aparezca un error similar aServer refused our key.

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

  4. Cuando termine de trabajar en el nodo principal, escriba el siguiente comando para cerrar la SSH conexión.

    exit

Si tienes dificultades para conectarte SSH al nodo principal, consulta Solucionar problemas de conexión a tu instancia.

Conéctese al nodo principal mediante SSH Windows

Los usuarios de Windows pueden usar un SSH cliente como Pu TTY para conectarse al nodo principal. Antes de conectarte al nodo EMR principal de Amazon, debes descargar e instalar Pu TTY y uTTYgen P. Puede descargar estas herramientas desde la página de TTY descargas de Pu.

Pu TTY no admite de forma nativa el formato de archivo de clave privada (.pem) de pares de claves generado por AmazonEC2. Utiliza P uTTYgen para convertir el archivo de clave al TTY formato Pu requerido (.ppk). Debe convertir la clave a este formato (.ppk) antes de intentar conectarse al nodo principal mediante PuTTY.

Para obtener más información sobre la conversión de tu clave, consulta Cómo convertir tu clave privada mediante P uTTYgen en la Guía del EC2 usuario de Amazon.

Para conectarse al nodo principal mediante Pu TTY
  1. Asegúrese de permitir el SSH tráfico entrante. Para obtener instrucciones, consulte Antes de conectarse: autorice el tráfico entrante.

  2. Abra putty.exe. También puede iniciar Pu TTY desde la lista de programas de Windows.

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

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

  5. En la lista de categorías, elija Conexión > SSH, Auth.

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

  7. Seleccione Abrir y, a continuación, para cerrar la alerta de TTY seguridad de Pu.

    importante

    Al iniciar sesión en el nodo principal, escriba hadoop si se le solicita un nombre de usuario.

  8. Cuando haya terminado de trabajar en el nodo principal, puede cerrar la SSH conexión cerrando PuTTY.

    nota

    Para evitar que se agote el tiempo de espera de la SSH conexión, puedes elegir Conexión en la lista de categorías y seleccionar la opción Activar TCP _keepalives. Si tiene una SSH sesión activa en PuTTY, puede cambiar la configuración abriendo el contexto (con el botón derecho) de la barra de TTY título de Pu y seleccionando Cambiar configuración.

Si tiene dificultades para conectarse SSH a su nodo principal, consulte Solucionar problemas de conexión a su instancia.

Conéctese al nodo principal mediante el AWS CLI

Puede crear una SSH conexión con el nodo principal mediante el AWS CLI en Windows y en Linux, Unix y Mac OS X. Independientemente de la plataforma, necesitará el DNS nombre público del nodo principal y la clave privada del par de EC2 claves de Amazon. Si está utilizando el AWS CLI en Linux, Unix o Mac OS X, también debe establecer los permisos en el (.pemo.ppk) archivo de clave privada, tal y como se muestra enPara configurar los permisos de archivo de clave privada del par de claves.

Para conectarse al nodo principal mediante el AWS CLI
  1. Asegúrese de permitir el SSH tráfico entrante. Para obtener instrucciones, consulte Antes de conectarse: autorice el tráfico entrante.

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

    aws emr list-clusters

    El resultado muestra los clústeres, incluido el clústerIDs. 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"
  3. Escriba el siguiente comando para abrir una SSH conexión con el nodo principal. En el siguiente ejemplo, sustituya j-2AL4XXXXXX5T9 por el ID del clúster y reemplace ~/mykeypair.key con 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
  4. Cuando haya terminado de trabajar en el nodo principal, cierre el AWS CLI ventana.

    Para obtener más información, consulta los EMR comandos de Amazon en la AWS CLI. Si tienes dificultades para conectarte SSH a tu nodo principal, consulta Solucionar problemas de conexión a tu instancia.