Connect al nodo primario utilizzando 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 utilizzando SSH

Secure Shell (SSH) è un protocollo di rete che puoi usare 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 si utilizza SSH with AWS, ci si connette a un'EC2istanza, che è un server virtuale in esecuzione nel cloud. Quando si lavora con AmazonEMR, l'uso più comune di SSH è quello di connettersi all'EC2istanza che funge da nodo primario del cluster.

L'utilizzo SSH per connettersi al nodo primario offre la possibilità 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. È inoltre possibile creare un tunnel nella SSH connessione per visualizzare le interfacce Web ospitate sul nodo primario. Per ulteriori informazioni, consulta Visualizza le interfacce Web ospitate su cluster Amazon EMR.

Per connetterti al nodo primario utilizzandoSSH, è necessario il DNS nome pubblico del nodo primario. Inoltre, il gruppo di sicurezza associato al nodo primario deve disporre di una regola in entrata che consenta il traffico SSH (TCPporta 22) da una fonte che include il client da cui ha origine la SSH connessione. Potrebbe essere necessario aggiungere una regola per consentire una SSH connessione dal client. Per ulteriori informazioni sulla modifica delle regole dei gruppi di sicurezza, consulta Controllo del traffico di rete con gruppi di sicurezza Adding rules to a security group nella Amazon EC2 User Guide.

Recupera il DNS nome pubblico del nodo primario

Puoi recuperare il DNS nome pubblico principale utilizzando la EMR console Amazon e il AWS CLI.

Nota

Abbiamo riprogettato la EMR console Amazon per renderla più facile da usare. Per scoprire le differenze tra la vecchia e la nuova esperienza nella console, consulta la sezione Console Amazon EMR.

New console
Per recuperare il DNS nome pubblico del nodo primario con la nuova console
  1. Accedi a e apri la EMR console Amazon all'indirizzo https://console.aws.amazon.com/emr. AWS Management Console

  2. EC2Nel riquadro di navigazione a sinistra, scegli Cluster, quindi seleziona il cluster in cui desideri recuperare il nome pubblicoDNS. EMR

  3. Prendi nota del DNS valore pubblico del nodo primario nella sezione Riepilogo della pagina dei dettagli del cluster.

Old console
Per recuperare il DNS nome pubblico del nodo primario con la vecchia console
  1. Passa alla nuova EMR console Amazon e seleziona Passa alla vecchia console dalla barra di navigazione laterale. Per ulteriori informazioni su cosa aspettarti quando passi alla vecchia console, consulta Utilizzo della vecchia console.

  2. Nella pagina Cluster List (Elenco cluster), selezionare il link per il proprio cluster.

  3. Nota il DNS valore pubblico principale che appare nella sezione Riepilogo della pagina Dettagli del cluster.

    Nota

    Puoi anche scegliere il SSHlink per le istruzioni sulla creazione di una SSH connessione con il nodo primario.

CLI
Per recuperare il DNS nome 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 DNS nome pubblico del cluster, digita uno dei seguenti comandi. Replace (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, inclusi DNS nomi e 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 EMRi comandi di Amazon in AWS CLI.

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

Per creare una SSH connessione autenticata con un file di chiave privata, devi specificare la EC2 chiave privata Amazon 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 SSH client per impostazione predefinita. Ad esempio, Open SSH è installato sulla maggior parte dei sistemi operativi Linux, Unix e macOS. È possibile verificare la presenza di un SSH client digitandolo ssh nella riga di comando. Se il computer non riconosce il comando, installa un SSH client per connetterti al nodo primario. Il SSH progetto Open fornisce un'implementazione gratuita della suite completa di SSH strumenti. Per ulteriori informazioni, consulta il SSH sito Web Open.

Le seguenti istruzioni mostrano l'apertura di una SSH connessione al nodo EMR primario Amazon 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 SSH connessione, 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 SSH connessione utilizzando il terminale o il AWS CLI.

  1. Assicurati di aver consentito il SSH traffico in entrata. Per istruzioni, consulta Prima di connetterti: 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. Replace (Sostituisci) ~/mykeypair.pem con il percorso completo e il nome del file di chiave privata della 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. Replace (Sostituisci) ec2-###-##-##-###.compute-1.amazonaws.com con il DNS nome pubblico principale del cluster e sostituisci ~/mykeypair.pem 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

    È necessario utilizzare il nome di accesso hadoop quando ci si connette al nodo EMR primario di Amazon; in caso contrario, è possibile che venga visualizzato un errore simile aServer 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. Quando hai finito di lavorare sul nodo primario, digita il seguente comando per chiudere la SSH connessione.

    exit

Se hai difficoltà a connetterti SSH al nodo primario, vedi Risolvere i problemi di connessione all'istanza.

Connect al nodo primario utilizzando SSH Windows

Gli utenti Windows possono utilizzare un SSH client come Pu TTY per connettersi al nodo primario. Prima di connetterti al nodo EMR primario di Amazon, devi scaricare e installare Pu TTY e uTTYgen P. Puoi scaricare questi strumenti dalla pagina di TTY download di Pu.

Pu TTY non supporta nativamente il formato di file a chiave privata della coppia di chiavi (.pem) generato da AmazonEC2. Utilizzi P uTTYgen per convertire il file chiave nel TTY formato Pu richiesto (.ppk). È necessario convertire la chiave in questo formato (.ppk) prima di tentare di connettersi al nodo primario utilizzando PuTTY.

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

Per connettersi al nodo primario usando Pu TTY
  1. Assicurati di aver consentito il SSH traffico in entrata. Per istruzioni, consulta Prima di connetterti: autorizza il traffico in entrata.

  2. Aprire putty.exe. Puoi anche avviare Pu TTY dall'elenco dei programmi Windows.

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

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

  5. Nell'elenco Categoria, scegliete Connessione > SSH, Autenticazione.

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

  7. Scegli Apri e quindi per eliminare l'avviso di TTY sicurezza Pu.

    Importante

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

  8. Quando hai finito di lavorare sul nodo primario, puoi chiudere la SSH connessione chiudendo PuTTY.

    Nota

    Per evitare il timeout della SSH connessione, puoi scegliere Connessione nell'elenco delle categorie e selezionare l'opzione Abilita TCP _keepalives. Se hai una SSH sessione attiva in PuTTY, puoi modificare le impostazioni aprendo il contesto (fai clic con il pulsante destro del mouse) per la barra del TTY titolo Pu e scegliendo Modifica impostazioni.

Se hai difficoltà a connetterti SSH al nodo principale, consulta Risolvere i problemi di connessione all'istanza.

Connessione al nodo primario tramite la AWS CLI

È possibile creare una SSH connessione con il nodo primario utilizzando Windows e Linux, Unix e Mac OS X. Indipendentemente dalla piattaforma, sono necessari il DNS nome 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 per il 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 SSH traffico in entrata. Per istruzioni, consulta Prima di connetterti: 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. Digita il comando seguente per aprire una SSH connessione al nodo primario. Nell'esempio seguente, sostituisci j-2AL4XXXXXX5T9 con l'ID del cluster e sostituisci ~/mykeypair.key 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 EMRi comandi di Amazon in AWS CLI. Se hai difficoltà a connetterti SSH al nodo primario, consulta Risoluzione dei problemi di connessione all'istanza.