Como se conectar ao nó primário do cluster do Amazon EMR usando SSH - Amazon EMR

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Como se conectar ao nó primário do cluster do Amazon EMR usando SSH

O Secure Shell (SSH) é um protocolo de rede que você pode usar para criar uma conexão segura com um computador remoto. Depois de estabelecer uma conexão, o terminal no computador local se comporta como se estivesse em execução no computador remoto. Os comandos que você emitir localmente serão executados no computador remoto, e a saída do comando do computador remoto será exibida na janela do terminal.

Ao usar SSH com AWS, você está se conectando a uma EC2 instância, que é um servidor virtual executado na nuvem. Ao trabalhar com o Amazon EMR, o uso mais comum do SSH é conectar-se à EC2 instância que está atuando como o nó principal do cluster.

O uso do SSH para conectar-se ao nó primário permite monitorar o cluster e interagir com ele. Você pode emitir comandos do Linux no nó primário, executar aplicações como o Hive e o Pig interativamente, pesquisar diretórios, ler arquivos de log e assim por diante. Também pode criar um túnel na sua conexão SSH para visualizar as interfaces Web hospedadas no nó primário. Para obter mais informações, consulte Visualizar interfaces Web hospedadas em clusters do Amazon EMR.

Para se conectar ao nó primário usando o SSH, você precisa do nome DNS público do nó primário. Além disso, o grupo de segurança associado ao nó primário deve ter uma regra de entrada que permite o tráfego SSH (porta TCP 22) de uma fonte que inclui o cliente onde a conexão SSH se origina. Talvez seja necessário adicionar uma regra para permitir uma conexão SSH do seu cliente. Para obter mais informações sobre a modificação das regras do grupo de segurança, consulte Controle do tráfego de rede com grupos de segurança para o cluster do Amazon EMR Adicionar regras a um grupo de segurança no Guia do EC2 usuário da Amazon.

Recuperar o nome DNS público do nó primário

Você pode recuperar o nome DNS público primário usando o console do Amazon EMR e a AWS CLI.

Console
Recuperar o nome DNS público do nó primário usando o novo console
  1. Faça login no e abra AWS Management Console o console do Amazon EMR em https://console.aws.amazon.com /emr.

  2. Em EMR, EC2 no painel de navegação esquerdo, escolha Clusters e, em seguida, selecione o cluster em que você deseja recuperar o nome DNS público.

  3. Observe o valor do DNS público do nó primário na seção Resumo da página de detalhes do cluster.

CLI
Para recuperar o nome DNS público do nó primário com o AWS CLI
  1. Para recuperar o identificador do cluster, digite o seguinte comando.

    aws emr list-clusters

    A saída lista seus clusters, incluindo o cluster IDs. Observe o ID do cluster ao qual você está se 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 listar as instâncias de cluster, incluindo o nome DNS público do cluster, digite um dos comandos a seguir. j-2AL4XXXXXX5T9Substitua pelo ID do cluster retornado pelo comando anterior.

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

    Ou:

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

    A saída lista as instâncias de cluster, incluindo nomes DNS e endereços IP. Observe o 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 obter mais informações, consulte os comandos do Amazon EMR na AWS CLI.

Conecte-se ao nó primário usando SSH e uma chave EC2 privada da Amazon no Linux, Unix e Mac OS X

Para criar uma conexão SSH autenticada com um arquivo de chave privada, você precisa especificar a EC2 chave privada do par de chaves da Amazon ao iniciar um cluster. Para obter mais informações sobre como acessar seu par de chaves, consulte os pares de EC2 chaves da Amazon no Guia EC2 do usuário da Amazon.

Seu computador Linux muito provavelmente inclui um cliente SSH por padrão. Por exemplo, a OpenSSH está instalada na maioria dos sistemas operacionais Unix, Linux e MacOS X. É possível verificar se existe um cliente SSH digitando ssh na linha de comando. Se o computador não reconhecer o comando, instale um cliente SSH para se conectar ao nó primário. O projeto OpenSSH fornece uma implementação grátis do pacote completo de ferramentas SSH. Para obter mais informações, consulte o site do OpenSSH.

As instruções a seguir demonstram como abrir uma conexão SSH com o nó primário do Amazon EMR no Linux, Unix e Mac OS X.

Para configurar as permissões do arquivo de chave privada do par de chaves

Antes de usar sua EC2 chave privada de par de chaves Amazon para criar uma conexão SSH, você deve definir permissões no .pem arquivo para que somente o proprietário da chave tenha permissão para acessá-lo. Isso é necessário para criar uma conexão SSH usando o terminal ou o. AWS CLI

  1. Verifique se você permitiu tráfego SSH de entrada. Para obter instruções, consulte Antes de se conectar ao Amazon EMR: autorize o tráfego de entrada.

  2. Localize seu arquivo .pem. Estas instruções pressupõem que o arquivo se chame mykeypair.pem e esteja armazenado no diretório inicial do usuário atual.

  3. Digite o seguinte comando para definir as permissões. ~/mykeypair.pemSubstitua pelo caminho completo e pelo nome do arquivo de chave privada do par de chaves. Por exemplo, C:/Users/<username>/.ssh/mykeypair.pem.

    chmod 400 ~/mykeypair.pem

    Se você não definir permissões no arquivo .pem, receberá um erro indicando que o arquivo de chave está desprotegido e que a chave será rejeitada. Para conectar, você só precisa definir permissões no arquivo de chave privada do par de chaves ao usá-lo pela primeira vez.

Conectar-se ao nó primário usando o terminal
  1. Abra uma janela do terminal. No Mac OS X, escolha Applications > Utilities > Terminal (Aplicativos > Utilitários > Terminal). Em outras distribuições do Linux, o terminal está normalmente localizado em Applications > Accessories > Terminal (Aplicativos > Acessórios > Terminal).

  2. Para estabelecer uma conexão com o nó primário, digite o comando a seguir. ec2-###-##-##-###.compute-1.amazonaws.com.rproxy.goskope.comSubstitua pelo nome DNS público primário do seu cluster e ~/mykeypair.pem substitua pelo caminho completo e pelo nome do .pem arquivo. Por exemplo, C:/Users/<username>/.ssh/mykeypair.pem.

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

    Você deve usar o nome de logon hadoop ao se conectar ao nó primário do Amazon EMR; caso contrário, poderá ver um erro semelhante a Server refused our key.

  3. Um aviso afirma que não foi possível verificar a autenticidade do host ao qual você está se conectando. Digite yes para continuar.

  4. Quando você encerrar de trabalhar no nó primário, digite o seguinte comando para encerrar a conexão SSH.

    exit

Caso tenha dificuldades ao usar o SSH para se conectar ao nó primário, consulte Solução de problemas para conectar-se à sua instância.

Conectar-se ao nó primário usando SSH no Windows

Os usuários do Windows podem usar um cliente SSH, como o PuTTY para se conectarem ao nó primário. Antes de se conectar ao nó primário do Amazon EMR, você deve baixar e instalar o PuTTY e o Pu. TTYgen Você pode baixar essas ferramentas na página de download do PuTTY.

O PuTTY não oferece suporte nativo ao formato de arquivo de chave privada do par de chaves (.pem) gerado pela Amazon. EC2 Você usa Pu TTYgen para converter seu arquivo de chave para o formato PuTTY necessário ().ppk. É necessário converter a chave nesse formato (.ppk) antes de tentar se conectar ao nó primário usando o PuTTY.

Para obter mais informações sobre como converter sua chave, consulte Convertendo sua chave privada usando Pu TTYgen no Guia EC2 do usuário da Amazon.

Conectar-se ao nó primário usando PuTTY
  1. Verifique se você permitiu tráfego SSH de entrada. Para obter instruções, consulte Antes de se conectar ao Amazon EMR: autorize o tráfego de entrada.

  2. Abra o putty.exe. Você também pode executar o PuTTY na lista de programas do Windows.

  3. Se necessário, na lista Category (Categoria), escolha Session (Sessão).

  4. Em Nome do host (ou endereço IP), digite hadoop@MasterPublicDNS. Por exemplo: hadoop@ec2-###-##-##-###.compute-1.amazonaws.com.

  5. Na lista Category (Categoria), escolha Connection > SSH (Conexão > SSH), Auth.

  6. Para Private key file for authentication (Arquivo de chave privada para autenticação), escolha Browse (Procurar) e selecione o arquivo .ppk que você gerou.

  7. Escolha Abrir e depois Sim para descartar o alerta de segurança do PuTTY.

    Importante

    Quando fizer login no nó primário, digite hadoop se for solicitado a especificar um nome de usuário.

  8. Quando terminar de trabalhar no nó primário, você poderá encerrar a conexão SSH fechando o PuTTY.

    nota

    Para evitar que a conexão SSH atinja o tempo limite, é possível escolher Connection (Conexão) na lista Category (Categoria) e selecionar a opção Enable TCP_keepalives (Habilitar TCP_keepalives). Se você tiver uma sessão SSH ativa no PuTTY, poderá alterar suas configurações abrindo o contexto (botão direito do mouse) para a barra de título do PuTTY e escolhendo Alterar configurações.

Caso tenha dificuldades ao usar o SSH para se conectar ao nó primário, consulte Solução de problemas para conectar-se à sua instância.

Conectar-se ao nó primário usando a AWS CLI

Você pode criar uma conexão SSH com o nó primário usando o AWS CLI no Windows e no Linux, Unix e Mac OS X. Independentemente da plataforma, você precisa do nome DNS público do nó primário e da chave privada do Amazon EC2 key pair. Se você estiver usando o AWS CLI no Linux, Unix ou Mac OS X, também deverá definir permissões no arquivo (.pemou.ppk) chave privada, conforme mostrado emPara configurar as permissões do arquivo de chave privada do par de chaves.

Para se conectar ao nó primário usando o AWS CLI
  1. Verifique se você permitiu tráfego SSH de entrada. Para obter instruções, consulte Antes de se conectar ao Amazon EMR: autorize o tráfego de entrada.

  2. Para recuperar o identificador de cluster, digite:

    aws emr list-clusters

    A saída lista seus clusters, incluindo o cluster IDs. Observe o ID do cluster ao qual você está se 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. Digite o comando a seguir para abrir uma conexão SSH com o nó primário. No exemplo a seguir, j-2AL4XXXXXX5T9 substitua pelo ID do cluster e ~/mykeypair.key substitua pelo caminho completo e pelo nome do .pem arquivo (para Linux, Unix e Mac OS X) ou .ppk arquivo (para Windows). Por exemplo, C:\Users\<username>\.ssh\mykeypair.pem.

    aws emr ssh --cluster-id j-2AL4XXXXXX5T9 --key-pair-file ~/mykeypair.key
  4. Quando terminar de trabalhar no nó primário, feche a AWS CLI janela.

    Para obter mais informações, consulte os comandos do Amazon EMR na AWS CLI. Caso tenha dificuldades ao usar o SSH para se conectar ao nó primário, consulte Solução de problemas para conectar-se à sua instância.