Connect al nodo primario del cluster Amazon EMR tramite SSH - Amazon EMR

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Connect al nodo primario del cluster Amazon EMR tramite SSH

Secure Shell (SSH) è un protocollo di rete che può essere utilizzato per creare una connessione sicura a un computer remoto. Dopo aver effettuato il collegamento, il terminale del computer locale si comporta come se fosse in esecuzione sul computer remoto. I comandi emessi localmente vengono eseguiti sul computer remoto e l'output del comando dal computer remoto viene visualizzato nella finestra del terminale.

Quando usi SSH con AWS, ti connetti a un' EC2 istanza, che è un server virtuale in esecuzione nel cloud. Quando si lavora con Amazon EMR, l'uso più comune di SSH è quello di connettersi all' EC2 istanza che funge da nodo primario del cluster.

L'utilizzo di SSH per connettersi al nodo primario consente di monitorare e interagire con il cluster. È possibile eseguire comandi Linux sul nodo primario, eseguire applicazioni come Hive e Pig in modo interattivo, sfogliare le directory, leggere i file di log e così via. Si può anche creare un tunnel nella connessione SSH per visualizzare le interfacce Web ospitate sul nodo primario. Per ulteriori informazioni, consulta Visualizzazione di interfacce Web ospitate su cluster Amazon EMR.

Per connettersi al nodo primario utilizzando SSH, è necessario il nome DNS pubblico del nodo primario. Inoltre, il gruppo di sicurezza associato al nodo primario deve avere una regola in entrata che consenta il traffico SSH (porta TCP 22) da un'origine che include il client da cui viene creata la connessione SSH. Potrebbe essere necessario aggiungere una regola per consentire una connessione SSH dal client. Per ulteriori informazioni sulla modifica delle regole dei gruppi di sicurezza, consulta Controlla il traffico di rete con gruppi di sicurezza per il tuo cluster Amazon EMR Adding rules to a security group nella Amazon EC2 User Guide.

Recupero del nome DNS pubblico del nodo primario

È possibile recuperare il nome DNS pubblico primario utilizzando la console Amazon EMR e la AWS CLI.

Console
Recupero del nome DNS pubblico del nodo primario con la nuova console
  1. Accedi a e apri AWS Management Console la console Amazon EMR su https://console.aws.amazon.com /emr.

  2. In EMR attivo EC2 nel riquadro di navigazione a sinistra, scegli Cluster, quindi seleziona il cluster in cui desideri recuperare il nome DNS pubblico.

  3. Prendi nota del valore Primary node public DNS (DNS pubblico del nodo primario) che compare nella sezione Summary (Riepilogo) della pagina dei dettagli del cluster.

CLI
Per recuperare il nome DNS pubblico del nodo primario con AWS CLI
  1. Per recuperare l'identificatore del cluster, digitare il seguente comando:

    aws emr list-clusters

    L'output elenca i cluster, incluso il cluster. IDs Prendere nota dell'ID del cluster per il cluster a cui ci si connette.

    "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. Per elencare le istanze del cluster, incluso il nome DNS pubblico del cluster, inserisci uno dei seguenti comandi. Sostituisci j-2AL4XXXXXX5T9 con l'ID del cluster restituito dal comando precedente.

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

    O:

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

    L'output elenca le istanze del cluster, compresi i nomi DNS e gli indirizzi IP. Prendere nota del valore per 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": "###.##.#.###"

Per ulteriori informazioni, consulta Comandi di Amazon EMR nella AWS CLI.

Connect al nodo primario tramite SSH e una chiave EC2 privata Amazon su Linux, Unix e Mac OS X

Per creare una connessione SSH autenticata con un file di chiave privata, devi specificare la chiave privata Amazon EC2 key pair quando avvii un cluster. Per ulteriori informazioni sull'accesso alla tua coppia di chiavi, consulta Amazon EC2 key pair nella Amazon EC2 User Guide.

Molto probabilmente il tuo computer Linux include un client SSH per impostazione predefinita. Ad esempio, OpenSSH è installato nella maggior parte dei sistemi operativi Linux, Unix e macOS. È possibile verificare la presenza di un client SSH digitando ssh nella riga di comando. Se il computer non riconosce il comando, installa un client SSH per la connessione al nodo primario. Il progetto OpenSSH fornisce un'implementazione gratuita della suite completa di strumenti SSH. Per ulteriori informazioni, consulta il sito Web OpenSSH.

Le seguenti istruzioni illustrano l'apertura di una connessione SSH al nodo primario Amazon EMR su Linux, Unix e Mac OS X.

Per configurare le autorizzazioni per i file chiave privati della coppia di chiavi

Prima di poter utilizzare la chiave privata Amazon EC2 key pair per creare una connessione SSH, devi impostare le autorizzazioni sul .pem file in modo che solo il proprietario della chiave abbia il permesso di accedere al file. Ciò è necessario per creare una connessione SSH utilizzando il terminale o il. AWS CLI

  1. Assicurati di aver consentito il traffico SSH in entrata. Per istruzioni, consulta Prima di connetterti ad Amazon EMR: autorizza il traffico in entrata.

  2. Individuare il file .pem. Queste istruzioni presuppongono che il file sia denominato mykeypair.pem e che venga memorizzato nella directory principale dell'utente corrente.

  3. Digitare il seguente comando per impostare le autorizzazioni. Sostituisci ~/mykeypair.pem con il percorso completo e il nome del file della chiave privata della tua coppia di chiavi. Ad esempio, C:/Users/<username>/.ssh/mykeypair.pem.

    chmod 400 ~/mykeypair.pem

    Se non si impostano le autorizzazioni sul file .pem, si riceverà un errore che indica che il file chiave non è protetto e la chiave verrà rifiutata. Per connettersi, è sufficiente impostare le autorizzazioni sul file chiave privata della coppia di chiavi la prima volta che lo si utilizza.

Connessione al nodo primario utilizzando il terminale
  1. Apri una finestra del terminale. In Mac OS X, selezionare Applications > Utilities > Terminal (Applicazioni > Utility > Terminale). In altre distribuzioni Linux, la finestra terminal si trova generalmente in Applications > Accessories > Terminal (Applicazioni > Accessori >; Terminale).

  2. Per stabilire una connessione al nodo primario, inserisci il seguente comando. Sostituiscilo ec2-###-##-##-###.compute-1.amazonaws.com con il nome DNS pubblico principale del cluster e ~/mykeypair.pem sostituiscilo con il percorso completo e il nome del .pem file. Ad esempio, C:/Users/<username>/.ssh/mykeypair.pem.

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

    Quando si esegue la connessione al nodo primario di Amazon EMR occorre utilizzare il nome di login hadoop, altrimenti potrebbe verificarsi un errore simile a Server refused our key.

  3. Un avviso indica che non è possibile verificare l'autenticità dell'host a cui ci si connette. Per continuare, digitare yes.

  4. Una volta terminato il lavoro sul nodo primario, inserisci il seguente comando per chiudere la connessione SSH.

    exit

Se riscontri problemi nell'utilizzo di SSH per la connessione al nodo primario, consulta la sezione Troubleshoot connecting to your instance (Risoluzione dei problemi di connessione all'istanza).

Connessione al nodo primario tramite SSH su Windows

Gli utenti Windows possono utilizzare un client SSH come PuTTY per connettersi al nodo primario. Prima di connetterti al nodo primario di Amazon EMR, devi scaricare e installare PuTTY e Pu. TTYgen Questi strumenti possono essere scaricati dalla pagina di download di PuTTY.

PuTTY non supporta nativamente il formato di file della chiave privata della coppia di chiavi .pem () generato da Amazon. EC2 Utilizzate Pu TTYgen per convertire il file chiave nel formato PuTTY richiesto (). .ppk È necessario convertire la chiave privata nel formato .ppk prima di tentare una connessione al nodo primario tramite PuTTY.

Per ulteriori informazioni sulla conversione della chiave, consulta Convertire la chiave privata utilizzando Pu TTYgen nella Amazon EC2 User Guide.

Connessione al nodo primario usando PuTTY
  1. Assicurati di aver consentito il traffico SSH in entrata. Per istruzioni, consulta Prima di connetterti ad Amazon EMR: autorizza il traffico in entrata.

  2. Aprire putty.exe. È anche possibile avviare PuTTY dall'elenco dei programmi di Windows.

  3. Se necessario, nell'elenco Category (Categoria) selezionare Session (Sessione).

  4. Per Nome host (o indirizzo IP), digita. hadoop@ MasterPublicDNS Ad esempio: hadoop@ec2-###-##-##-###.compute-1.amazonaws.com.

  5. Nell'elenco Category (Categoria) scegliere Connection > SSH (Connessione > SSH), Auth (Autenticazione).

  6. Per Private key file for authentication (File chiave privata per autenticazione), scegliere Browse (Sfoglia) e selezionare il file .ppk generato.

  7. Seleziona Open (Apri), quindi Yes (Sì) per ignorare l'avviso di sicurezza di PuTTY.

    Importante

    Quando accedi al nodo primario, inserisci hadoop nel caso in cui venga richiesto un nome utente.

  8. Una volta terminato il lavoro sul nodo primario puoi chiudere la connessione SSH chiudendo PuTTY.

    Nota

    Per evitare il timeout della connessione SSH, scegliere Connection (Connessione) nell'elenco Category (Categoria) e selezionare l'opzione Enable TCP_keepalives (Abilita TCP_keepalives). Se si dispone di una sessione SSH attiva in PuTTY, è possibile modificare le impostazioni aprendo il contesto (clic con il tasto destro del mouse) per la barra del titolo di PuTTY e scegliendo Change Settings (Modifica impostazioni).

Se riscontri problemi nell'utilizzo di SSH per la connessione al nodo primario, consulta la sezione Troubleshoot connecting to your instance (Risoluzione dei problemi di connessione all'istanza).

Connessione al nodo primario tramite la AWS CLI

Puoi creare una connessione SSH con il nodo primario utilizzando Windows e Linux, Unix e Mac OS X. Indipendentemente dalla piattaforma, sono necessari il nome DNS pubblico del nodo primario e la chiave privata Amazon EC2 key pair. AWS CLI Se utilizzi Linux, Unix o Mac OS X, devi anche impostare le autorizzazioni sul file della chiave privata (.pemo.ppk) come mostrato in. AWS CLI Per configurare le autorizzazioni per i file chiave privati della coppia di chiavi

Per connettersi al nodo primario utilizzando il AWS CLI
  1. Assicurati di aver consentito il traffico SSH in entrata. Per istruzioni, consulta Prima di connetterti ad Amazon EMR: autorizza il traffico in entrata.

  2. Per recuperare l'identificatore del cluster, digitare:

    aws emr list-clusters

    L'output elenca i cluster, incluso il cluster IDs. Prendere nota dell'ID del cluster per il cluster a cui ci si connette.

    "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. Inserisci il seguente comando per aprire una connessione SSH al nodo primario. Nell'esempio seguente, sostituitelo j-2AL4XXXXXX5T9 con l'ID del cluster e ~/mykeypair.key sostituitelo con il percorso completo e il nome del .pem file (per Linux, Unix e Mac OS X) o .ppk del file (per Windows). Ad esempio, C:\Users\<username>\.ssh\mykeypair.pem.

    aws emr ssh --cluster-id j-2AL4XXXXXX5T9 --key-pair-file ~/mykeypair.key
  4. Quando hai finito di lavorare sul nodo principale, chiudi la AWS CLI finestra.

    Per ulteriori informazioni, consulta Comandi Amazon EMR nella AWS CLI. Se riscontri problemi nell'utilizzo di SSH per la connessione al nodo primario, consulta la sezione Troubleshoot connecting to your instance (Risoluzione dei problemi di connessione all'istanza).