Prerequisiti
Abilitare Kerberos
Preconfigurazione
Prima di avviare la procedura guidata, è necessario impostare due configurazioni e riavviare tutti i servizi.Per iniziare
Passare a Admin -> Kerberos e premere il pulsante "Enable Kerberos". I titoli all'interno di questa sezione fanno riferimento ai titoli delle pagine della procedura guidata Kerberos.Configurare Kerberos/Installare e testare il client Kerberos
Inserire tutte le informazioni KDC e admin server. Al passaggio 3 (installare e testare il client Kerberos), il server Ambari eseguirà un test di fumo per verificare che Kerberos sia stato configurato correttamente.
Configurazione delle identità/conferma della configurazione
a) Entità utente (UPN) Ambari
Ambari crea entità utente nel formato $ -$ @$ , quindi utilizza hadoop.security.auth_to_local in core-site.xml per mappare le entità in soli $ sul file system.
Dopo aver configurato le entità appropriate, premere "Next". Nella schermata "Confirm Configuration", premere "Next".
Arrestare il cluster di servizi/kerberize
I servizi di arresto e kerberizing dovrebbero avere esito positivo.
Non procedere: Isilon non consente ad Ambari di creare schede chiave per le entità Isilon. Al contrario, è necessario configurare manualmente Kerberos su Isilon utilizzando la procedura riportata di seguito.
a) Creare KDC come auth provider Isilon
Nota: Se questa zona Isilon è già configurata per utilizzare il KDC MIT, è possibile ignorare questi passaggi.
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) Creare service principal per HDFS e HTTP (per 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) Creare tutti gli utenti proxy necessari
Nei cluster non protetti, qualsiasi utente può impersonare qualsiasi altro utente. Nei cluster protetti, gli utenti proxy devono essere specificati in modo esplicito.
Se si dispone di Hive o Oozie, aggiungere gli utenti proxy appropriati.
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) Disabilitare l'autenticazione semplice
È consentita solo l'autenticazione kerberos o del token di delega.
isi hdfs settings modify --zone=$isilon_zone --authentication-mode=kerberos_only
Ora che Isilon è configurato, premere "Next" in Ambari per passare all'ultimo passaggio della procedura guidata.
Avviare e testare i servizi
Se i servizi non si avviano, ecco alcuni trucchi per il debug dei problemi Kerberos:
In HDFS-> Il sito core personalizzato imposta "hadoop.rpc.protection" su "integrity" o "privacy". Oltre all'autenticazione, le garanzie di integrità non sono state manomesse e la privacy crittografa tutti i messaggi.
Eseguire un job.
Da qualsiasi host client, provare un job MapReduce!
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!
(Opzionale) Disabilitare Kerberos
Pulire Isilon
Prima di tutto, è necessario ripulire Isilon. Si tratta essenzialmente dell'inversa dell'abilitazione di Kerberos.
a) Disabilitare l'autenticazione Kerberos
isi hdfs settings modify --authentication-mode=simple_only --zone=$isilon_zone
b) Eliminare eventuali utenti proxy
isi hdfs proxyusers delete oozie --zone=$isilon_zone
isi hdfs proxyusers delete hive --zone=$isilon_zone
c) Eliminare entità
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
Si noti che i comandi di cui sopra consentono di rimuovere solo tali entità da Isilon, ma non di rimuoverle da KDC. Utilizzare questi comandi per rimuovere le entità Isilon dal KDC:
kadmin -p $admin_principal
kadmin: delete_principal hdfs/$isilon_smartconnect@$REALM
kadmin: delete_principal HTTP/$isilon_smartconnect@$REALM
d) Rimuovere KDC come provider di autenticazione Isilon
isi zone zones modify --zone=$isilon_zone --remove-auth-provider=krb5:$REALM
isi auth krb5 delete --provider-name=$REALM
Pulire i client utilizzando Ambari
Premere "Disable Kerberos" in Admin -> Kerberos. Tutti i servizi dovrebbero essere disponibili in verde.