Voraussetzungen
Aktivieren von Kerberos
Vorkonfiguration
Bevor Sie den Assistenten starten, müssen Sie zwei Konfigurationen festlegen und alle Services neu starten.Erste Schritte
Navigieren Sie zu Admin –> Kerberos und drücken Sie die Schaltfläche "Enable Kerberos". Die Titel in diesem Abschnitt beziehen sich auf die Titel der Seiten des Kerberos-Assistenten.Konfigurieren von Kerberos/Installieren und Testen des Kerberos-Clients
Geben Sie alle KDC- und Administratorserverinformationen ein. In Schritt 3 (Installieren und Testen des Kerberos-Clients) führt der Ambari-Server einen Rauchtest durch, um sicherzustellen, dass Sie Kerberos korrekt konfiguriert haben.
Konfigurieren von Identitäten/Bestätigen der Konfiguration
a) Ambari User Principals (UPNs)
Ambari erstellt Benutzerprinzipale im Format $-$ @$ und verwendet dann hadoop.security.auth_to_local in core-site.xml , um die Prinzipale im Dateisystem in nur $ zuzuordnen.
Drücken Sie nach der Konfiguration der entsprechenden Prinzipale die Taste "Weiter". Drücken Sie im Bildschirm "Confirm Configuration" (Konfiguration bestätigen) die Taste "Next" (Weiter).
Beenden von Services/Kerberize-Cluster
Stoppen und Kerberizing-Services sollten erfolgreich sein.
Fahren Sie nicht fort: Isilon erlaubt Ambari nicht, Keytabs für Isilon-Prinzipale zu erstellen. Stattdessen müssen Sie Kerberos auf Isilon mithilfe der folgenden Schritte manuell konfigurieren.
a) Erstellen eines KDC als Isilon-Authentifizierungsanbieter
Hinweis: Wenn diese Isilon-Zone bereits für die Verwendung Ihres MIT KDC konfiguriert ist, können Sie diese Schritte überspringen.
isi auth krb5 create --realm=$REALM --admin-server=$admin_server --kdc=$kdc_server --user=$admin_principal --password=$admin_password
isi zone zones modify --zone=$isilon_zone --add-auth-provider=krb5:$REALM
b) Erstellen sie Serviceprinzipale für HDFS und HTTP (für WebHDFS).
isi auth krb5 spn create --provider-name=$REALM --spn=hdfs/$isilon_smartconnect@$REALM --user=$admin_principal --password=$admin_password
isi auth krb5 spn create --provider-name=$REALM --spn=HTTP/$isilon_smartconnect@$REALM --user=$admin_principal --password=$admin_password
c) Erstellen Sie alle erforderlichen Proxybenutzer.
In ungesicherten Clustern kann jeder Benutzer einen beliebigen anderen Benutzer imitieren. In gesicherten Clustern müssen Proxybenutzer explizit angegeben werden.
Wenn Sie Hive oder Oozie haben, fügen Sie die entsprechenden Proxybenutzer hinzu.
isi hdfs proxyusers create oozie --zone=$isilon_zone --add-user=ambari-qa
isi hdfs proxyusers create hive --zone=$isilon_zone --add-user=ambari-qa
d) Deaktivieren der einfachen Authentifizierung
Nur Kerberos- oder Delegierungstokenauthentifizierung ist zulässig.
isi hdfs settings modify --zone=$isilon_zone --authentication-mode=kerberos_only
Drücken Sie nach der Konfiguration von Isilon in Ambari "Weiter", um mit dem letzten Schritt des Assistenten fortzufahren.
Start- und Testservices
Wenn die Services nicht gestartet werden, finden Sie hier einige Tricks zum Debuggen von Kerberos-Problemen:
In HDFS :> Benutzerdefinierter Core-Site-Satz "hadoop.rpc.protection" auf "Integrität" oder "Datenschutz". Zusätzlich zur Authentifizierung wurden Integritätsgarantiemeldungen nicht manipuliert und der Datenschutz verschlüsselt alle Nachrichten.
Führen Sie einen Job aus!
Versuchen Sie es von jedem Clienthost aus mit einem MapReduce-Job!
kinit <some-user> yarn jar /usr/hdp/current/hadoop-mapreduce-client/hadoop-mapreduce-examples.jar pi 1 1000
Job Finished in 37.635 seconds
Estimated value of Pi is 3.14800000000000000000
Congratulations--you have secured your cluster with Kerberos!
(Optional) Deaktivieren von Kerberos
Bereinigen von Isilon
Sie sollten Isilon zuerst bereinigen. Dies ist im Wesentlichen die Umkehrung der Aktivierung von Kerberos.
a) Deaktivieren der Kerberos-Authentifizierung
isi hdfs settings modify --authentication-mode=simple_only --zone=$isilon_zone
b) Löschen Sie alle Proxybenutzer.
isi hdfs proxyusers delete oozie --zone=$isilon_zone
isi hdfs proxyusers delete hive --zone=$isilon_zone
c) Prinzipale löschen
isi auth krb5 spn delete --provider-name=$REALM --spn=hdfs/$isilon_smartconnect@$REALM --all
isi auth krb5 spn delete --provider-name=$REALM --spn=HTTP/$isilon_smartconnect@$REALM --all
Beachten Sie, dass die obigen Befehle nur diese Prinzipale aus Isilon entfernen, aber nicht aus dem KDC entfernen. Verwenden Sie diese Befehle, um die Isilon-Prinzipale aus dem KDC zu entfernen:
kadmin -p $admin_principal
kadmin: delete_principal hdfs/$isilon_smartconnect@$REALM
kadmin: delete_principal HTTP/$isilon_smartconnect@$REALM
d) Entfernen von KDC als Isilon-Authentifizierungsanbieter
isi zone zones modify --zone=$isilon_zone --remove-auth-provider=krb5:$REALM
isi auth krb5 delete --provider-name=$REALM
Bereinigen von Clients mit Ambari
Drücken Sie in Admin –> Kerberos die Taste "Disable Kerberos". Alle Services sollten grün angezeigt werden.