Ich möchte ein abgelaufenes Kerberos-Ticket erneuern, das ich für die Amazon EMR-Authentifizierung verwende.
Lösung
Gehe wie folgt vor, um ein abgelaufenes Kerberos-Ticket zu erneuern:
-
Verwende SSH, um eine Verbindung zum Amazon EMR-Primärknoten herzustellen.
-
Führe den Befehl klist aus, um zu bestätigen, dass das Kerberos-Ticket abgelaufen ist. Wenn keine Anmeldeinformationen zwischengespeichert sind, ist das Ticket abgelaufen.
[hadoop@ip-xxx-x-x-xxx ~]$ klist
klist: No credentials cache found (filename: /tmp/krb5cc_498)
-
Liste den Inhalt der keytab-Datei auf, um den Kerberos-Prinzipalnamen zu bestätigen:
[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
-
Führe kinit aus, um das Kerberos-Ticket zu erneuern. Gib die keytab-Datei und den Prinzipal an:
[hadoop@ip-xxx-x-x-xxx ~]$ kinit -kt /etc/hadoop.keytab hadoop/ip-xxx-x-x-xxx.ec2.internal@EC2.INTERNAL
-
Vergewissere dich, dass die Anmeldeinformationen zwischengespeichert sind:
[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
-
Führe einen HDFS-Befehl aus, um zu überprüfen, ob das Kerberos-Ticket funktioniert:
[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
Ähnliche Informationen
Verwendung von Kerberos für die Authentifizierung mit Amazon EMR