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: Automatisierte Kerberos-Konfiguration von Ambari mit Isilon

Résumé: Dieser Artikel führt Sie durch die Konfiguration der Kerberos-Sicherheit mit einem ambari-verwalteten Hadoop-Cluster.

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. z.

Cause

N. z.

Résolution

Hinweis: Dieses Thema ist Teil der Verwendung von Hadoop mit OneFS – Isilon Info Hub.

In diesem Artikel wird beschrieben, wie Sie kerberos-Sicherheit mit einem ambari-verwalteten Hadoop-Cluster konfigurieren.

Kerberos ist für eine starke Authentifizierung und Verschlüsselung für Hadoop von zentraler Bedeutung, kann jedoch eine Herausforderung bei der Konfiguration und Verwaltung sein. Ambari 2.0 führte die assistentengesteuerte automatisierte Kerberos-Konfiguration ein, wodurch der Prozess viel schneller und weniger fehleranfällig wird. Ab OneFS 8.0.0.1 können Dell EMC Isilon-Kunden diese hervorragende Funktion nutzen.


Voraussetzungen

  • OneFS 8.0.0.1 oder höher.
  • Ambari 2.0 oder höher.
  • MIT KDC wird ausgeführt (Heimdal wird nicht unterstützt). Führen Sie die hier aufgeführten Schritte aus, um Ihre Kerberos-Infrastruktur einzurichten.
  • Weiterleiten und Umkehren von DNS zwischen allen Hosts.
  • Alle Services werden (grün) auf dem Ambari-Dashboard ausgeführt.

Aktivieren von Kerberos

Vorkonfiguration

Bevor Sie den Assistenten starten, müssen Sie zwei Konfigurationen festlegen und alle Services neu starten.
  • In HDFS :> Benutzerdefinierte Core-Site legt "hadoop.security.token.service.use_ip" auf "false" fest
  • Fügen Sie in MapReduce2 –> Advanced mapred-site "'hadoop classpath':" am Anfang von "mapreduce.application.classpath" hinzu. Notieren Sie sich den Doppelpunkt und die Backticks (kopieren Sie jedoch nicht die Anführungszeichen).

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.

SLN319432_en_US__1i_isilon-1-enable

Wählen Sie "Existing MIT KDC" aus und stellen Sie sicher, dass die Voraussetzungen erfüllt sind, und klicken Sie dann auf "Next". Beachten Sie, dass Isilon kein Java verwendet und JCE nicht benötigt.

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.


SLN319432_en_US__2i_isilon-2-Installation


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.

Isilon berücksichtigt die Zuordnungsregeln nicht, daher müssen Sie - $ aus allen Prinzipalen im Abschnitt "Ambari Principals" entfernen. Isilon entfernt das @$ - daher ist kein Aliasing erforderlich. Nehmen Sie in einem Ambari 2.2.1-Cluster mit HDFS, YARN, MapReduce2, Tez, Hive, HBase, Pig, Sqoop, Oozie, Zookeeper, Falcon, Storm, Flume, Sqmulo, Ambari Metrics, Kafka, Knox,Ahout, Slider und Spark die folgenden Änderungen auf der Registerkarte "General" vor:
  • Smokeuser-Prinzipalname: ${cluster-env/smokeuser}-$ @$ => ${cluster-env/smokeuser}@$
  • spark.history.kerberos.principal: ${spark-env/spark_user}-$ @$ => ${spark-env/spark_user}-@$
  • Name des Storm-Prinzipals: ${storm-env/storm_user}-$ @$ => ${storm-env/storm_user}-@$
  • HBase-Benutzerprinzipal: ${hbase-env/hbase_user}-$ @$ => ${hbase-env/hbase_user}@$
  • HDFS-Benutzerprinzipal: ${hadoop-env/hdfs_user}-$ @$ => ${hadoop-env/hdfs_user}@$
  • accumulo_principal_name: ${nominalmulo-env/accumulo_user}-$ @$ => ${ssdmulo-env/accumulo_user}@$
  • trace.user: tracer-$ @$ => tracer@$

SLN319432_en_US__3i_isilon-3-Identitäten

b) Service Principals (SPNs)

Ambari erstellt Serviceprinzipale, von denen einige sich von ihren UNIX-Benutzernamen unterscheiden. Da Isilon die Zuordnungsregeln nicht berücksichtigt, müssen Sie die Prinzipalnamen so ändern, dass sie ihren UNIX-Benutzernamen entsprechen. Nehmen Sie im Ambari 2.2.1-Cluster die folgenden Änderungen auf der Registerkarte "Erweitert" vor:
  • HDFS –> dfs.namenode.kerberos.principal: nn/_HOST@$ => hdfs/_HOST@$
  • YARN –> yarn.resourcemanager.principal: rm/_HOST@$ => Yarn/_HOST@$
  • YARN –> yarn.nodemanager.principal: nm/_HOST@$ => Yarn/_HOST@$
  • MapReduce2> – mapreduce.jobhistory.principal: jhs/_HOST@$ => mapred/_HOST@$
  • > Falcon – *.dfs.namenode.kerberos.principal: nn/_HOST@$ => hdfs/_HOST@$
 

SLN319432_en_US__4i_isilon-4-Identitätenkonfiguration


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.
 

SLN319432_en_US__5i_isilon-5-Cluster


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
 

SLN319432_en_US__6i_isilon-6-Startservices

 

Wenn die Services nicht gestartet werden, finden Sie hier einige Tricks zum Debuggen von Kerberos-Problemen:
  1. Aufgrund eines Fehlers in YARN müssen Sie "yarn.resourcemanager.principal" auf yarn/$rm_hostname@$REALM in YARN –>Custom yarn-site festlegen. Die Syntax "_HOST" funktioniert nicht, wenn Kerberos aktiviert ist.
  2. Um Java GSSAPI-/Kerberos-Fehler zu debuggen, fügen Sie "-Dsun.security.krb5.debug=true" zu HADOOP_OPTS hinzu.
  3. Verwenden Sie für HTTP 401-Fehler curl mit -iv für zusätzliche Debug-Informationen.
  4. Stellen Sie sicher, dass Forward- und Reverse-DNS zwischen allen Hosts eingerichtet ist.
(Optional) Starke RPC-Sicherheit

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.

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