Come posso rinnovare un ticket Kerberos scaduto che sto utilizzando per l'autenticazione Amazon EMR?
Sto usando Kerberos per l'autenticazione su un cluster Amazon EMR. Il mio ticket Kerberos è scaduto. Quando si tenta di eseguire comandi sul cluster, viene visualizzato un messaggio di errore simile al seguente: 19/11/04 22:12:16 WARN ipc.Client: Exception encountered while connecting to the server : javax.security.sasl.SaslException: GSS initiate failed [Caused by GSSException: No valid credentials provided (Mechanism level: Failed to find any Kerberos tgt)] ls: Failed on local exception: java.io.IOException: javax.security.sasl.SaslException: GSS initiate failed [Caused by GSSException: No valid credentials provided (Mechanism level: Failed to find any Kerberos tgt)]; Host Details : local host is: "ip-xxx-x-x-x.ec2.internal/192.x.x.x";destination host is: "ip-xxx-x-x-x.ec2.internal":8020;
Breve descrizione
Effettuate le seguenti operazioni per rinnovare un ticket Kerberos scaduto:
1. Esegui il comando klist per mostrare le credenziali emesse dal centro di distribuzione delle chiavi (KDC).
2. Per ottenere un nuovo ticket, esegui il comando kinit e specifica un file keytab che contiene le credenziali o inserisci la password per il tuo account principale.
Risoluzione
1. Connettiti al nodo principale tramite SSH.
2. Per confermare che il ticket è scaduto, esegui il comando klist. Questo comando verifica la presenza di una cache delle credenziali. Se nessuna credenziale viene memorizzata nella cache, il ticket è scaduto.
[hadoop@ip-xxx-x-x-xxx ~]$ klist klist: No credentials cache found (filename: /tmp/krb5cc_498)
3. Per confermare il nome principale di Kerberos, elenca il contenuto del file keytab:
[hadoop@ip-xxx-x-x-xxx ~]$ klist -kt /etc/hadoop.keytab Keytab name: FILE:/etc/hadoop.keytab KVNO Timestamp Principal ---- ------------------- ------------------------------------------------------ 2 07/04/2019 21:48:46 hadoop/ip-xxx-x-x-xxx.ec2.internal@EC2.INTERNAL 2 07/04/2019 21:48:46 hadoop/ip-xxx-x-x-xxx.ec2.internal@EC2.INTERNAL 2 07/04/2019 21:48:46 hadoop/ip-xxx-x-x-xxx.ec2.internal@EC2.INTERNAL
4. Per rinnovare il ticket Kerberos, esegui kinit e specifica sia il file keytab che il file principale:
[hadoop@ip-xxx-x-x-xxx ~]$ kinit -kt /etc/hadoop.keytab hadoop/ip-xxx-x-x-xxx.ec2.internal@EC2.INTERNAL
5. Conferma che le credenziali siano memorizzate nella cache:
[hadoop@ip-xxx-x-x-xxx ~]$ klist Ticket cache: FILE:/tmp/krb5cc_498 Default principal: hadoop/ip-xxx-x-x-xxx.ec2.internal@EC2.INTERNAL Valid starting Expires Service principal 11/04/2019 22:13:47 11/05/2019 08:13:47 krbtgt/EC2.INTERNAL@EC2.INTERNAL renew until 11/06/2019 22:13:47
6. Esegui un comando HDFS per confermare che il ticket Kerberos funzioni:
[hadoop@ip-XXX-XX-XX-XXX ~]$ hdfs dfs -ls / Found 4 items drwxr-xr-x - hdfs hadoop 0 2019-11-05 22:45 /apps drwxrwxrwt - hdfs hadoop 0 2019-11-05 22:46 /tmp drwxr-xr-x - hdfs hadoop 0 2019-11-05 22:45 /user drwxr-xr-x - hdfs hadoop 0 2019-11-05 22:45 /var
Informazioni correlate
Contenuto pertinente
- AWS UFFICIALEAggiornata 2 anni fa
- AWS UFFICIALEAggiornata 5 mesi fa
- AWS UFFICIALEAggiornata 2 anni fa
- AWS UFFICIALEAggiornata 2 anni fa