Passer au contenu principal
  • Passer des commandes rapidement et facilement
  • Afficher les commandes et suivre l’état de votre expédition
  • Créez et accédez à une liste de vos produits
  • Gérer vos sites, vos produits et vos contacts au niveau des produits Dell EMC à l’aide de la rubrique Gestion des informations de l’entreprise.

Isilon: Configurazione Kerberos automatizzata di Ambari con Isilon (in inglese)

Résumé: In questo articolo viene illustrato come configurare la sicurezza Kerberos con un cluster Hadoop gestito da Ambari.

Cet article a peut-être été traduit automatiquement. Si vous avez des commentaires concernant sa qualité, veuillez nous en informer en utilisant le formulaire au bas de cette page.

Contenu de l’article


Symptômes

n/d

Cause

n/d

Résolution

Nota: Questo argomento fa parte di Using Hadoop with OneFS - Isilon Info Hub.

Questo articolo descrive come configurare la sicurezza Kerberos con un cluster Hadoop gestito da Ambari.

Kerberos è fondamentale per l'autenticazione avanzata e la crittografia per Hadoop, ma può rappresentare una sfida per la configurazione e l'amministrazione. Ambari 2.0 ha introdotto la configurazione Kerberos automatizzata basata su procedura guidata, il che rende il processo molto più veloce e meno soggetti a errori. A partire da OneFS 8.0.0.1, i clienti Dell EMC Isilon possono sfruttare questa eccellente funzionalità.


Prerequisiti

  • OneFS 8.0.0.1 o versione successiva.
  • Ambari 2.0 o versione successiva.
  • MIT KDC in esecuzione (Widedal non è supportato). Seguire la procedura riportata di seguito per configurare l'infrastruttura Kerberos.
  • Inoltrare e invertire il DNS tra tutti gli host.
  • Tutti i servizi sono in esecuzione (verde) sul dashboard Ambari.

Abilitare Kerberos

Preconfigurazione

Prima di avviare la procedura guidata, è necessario impostare due configurazioni e riavviare tutti i servizi.
  • In HDFS -> Il sito core personalizzato imposta "hadoop.security.token.service.use_ip" su "false"
  • In MapReduce2 -> Advanced mapred-site aggiungere "'hadoop classpath':" all'inizio di "mapreduce.application.classpath". Prendere nota dei due punti e dei backtick (ma non copiare le virgolette).

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.

Abilitazione per SLN319432_en_US__1i_isilon-1

Selezionare "Existing MIT KDC" e verificare che i prerequisiti siano soddisfatti, quindi cliccare su "Next". Si noti che Isilon non utilizza Java e non richiede JCE.

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.


SLN319432_en_US__2i_isilon-2-installazione


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.

Isilon non rispetta le regole di mapping, pertanto è necessario rimuovere -$ da tutte le entità nella sezione "Ambari Principals". Isilon esegue lo striping di @$ , pertanto non è necessario l'aliasing. In un cluster Ambari 2.2.1 che esegue HDFS, FALCON, MapReduce2, Tez, Hive, HBase, Pig, Sqoop, Oozie, Zookeeper, Falcon, Storm, Flume, Accumulo, Ambari Metrics, Kafka, Files, Mahout, Slider e Spark, apportare le seguenti modifiche nella scheda "General":
  • Nome principale di Smokeuser: ${cluster-env/smokeuser}-$ @$ => ${cluster-env/smokeuser}@$
  • spark.history.kerberos.principal: ${spark-env/spark_user}-$ @$ => ${spark-env/spark_user}-@$
  • Nome principale storm: ${storm-env/storm_user}-$ @$ => ${storm-env/storm_user}-@$
  • Entità utente HBase: ${hbase-env/hbase_user}-$ @$ => ${hbase-env/hbase_user}@$
  • Entità utente HDFS: ${hadoop-env/hdfs_user}-$ @$ => ${hadoop-env/hdfs_user}@$
  • accumulo_principal_name: ${accumulo-env/accumulo_user}-$ @$ => ${accumulo-env/accumulo_user}@$
  • trace.user: tracer-$ @$ => tracer@$

SLN319432_en_US__3i_isilon 3 identità

b) Service Principal (SPNs)

Ambari crea entità di servizio, alcune delle quali sono diverse dai nomi utente UNIX. Anche in questo caso, poiché Isilon non rispetta le regole di mapping, è necessario modificare i nomi principali in modo che corrispondano ai rispettivi nomi utente UNIX. Nel cluster Ambari 2.2.1, apportare le seguenti modifiche nella scheda "Advanced":
  • HDFS -> dfs.namenode.kerberos.principal: nn/_HOST@$ => hdfs/_HOST@$
  • CON L'ACRONIMO -> sispone.resourcemanager.principal: rm/_HOST@$ => relazione/_HOST@$
  • PER L'AEA-> sispone.nodemanager.principal: nm/_HOST@$ => relazione/_HOST@$
  • MapReduce2 -> mapreduce.jobhistory.principal: jhs/_HOST@$ => mappato/_HOST@$
  • Falcon -> *.dfs.namenode.kerberos.principal: nn/_HOST@$ => hdfs/_HOST@$
 

configurazione SLN319432_en_US__4i_isilon-4-identities


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.
 

SLN319432_en_US__5i_isilon cluster da 5 pollici


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
 

servizi SLN319432_en_US__6i_isilon avvio 6

 

Se i servizi non si avviano, ecco alcuni trucchi per il debug dei problemi Kerberos:
  1. A causa di un bug in UN'AZIENDA, è necessario impostare "xp.resourcemanager.principal" su "dedumina/$rm_hostname@$REALM in ATTIVARE ->Sito personalizzato. La sintassi "_HOST" non funziona con Kerberos abilitato.
  2. Per eseguire il debug degli errori GSSAPI/Kerberos Java, aggiungere "-Dsun.security.krb5.debug=true" a HADOOP_OPTS.
  3. Per gli errori HTTP 401, utilizzare curl with -iv per ulteriori informazioni di debug.
  4. Assicurarsi che il DNS in avanti e inverso sia configurato tra tutti gli host.
(Opzionale) Forte sicurezza RPC

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.

Propriétés de l’article


Produit concerné

Isilon, PowerScale OneFS, Isilon with HDFS

Dernière date de publication

14 Sep 2023

Version

5

Type d’article

Solution