5

Scenario : - User logs on to his computer gets authenticated by Kerberos Authentication and submits a map reduce job Hadoop Sicherheit

Ich versuche zu lernen, "Wie Kerberos kann in Hadoop implementiert werden?" Ich habe durch diese doc gegangen https://issues.apache.org/jira/browse/HADOOP-4487 ich auch durch Grund Kerberos Sachen gegangen sind (https://www.youtube.com/watch?v=KD2Q-2ToloE)

Nachdem aus diesen Ressourcen zu lernen ich zum Schluss gekommen, das ich durch ein Diagramm bin darstellt. Szenario: - Benutzer meldet sich an seinem Computer an, wird von Kerberos Authentication authentifiziert und sendet einen Map Reduce Job (Bitte lesen Sie die Beschreibung des Diagramms benötigt es kaum 5 Minuten Ihrer Zeit) Ich möchte das Diagramm erklären und Fragen stellen im Zusammenhang mit wenigen Schritten (fett gedruckt) Zahlen in gelbem Hintergrund darstellt den gesamten Fluss (Nummern 1 bis 19) DT (mit rotem Hintergrund) BAT Delegation Token (mit grünem Hintergrund) stellt JT Token Block Zugriff (mit Brauner Hintergrund) steht für Job Token

Schritte 1,2,3 und 4 repräsentiert: - Anfrage für ein TGT (Ticket Granting Ticket) Anforderung eines Service-Tickets für den Namensknoten. Frage1) Wo sollte KDC liegen? Kann es auf der Maschine sein, wo mein Name Knoten oder Job-Tracker vorhanden ist?

Die Schritte 5,6,7,8 und 9 stellt Folgendes dar: - Zeigen Sie Serviceticket, um Knoten zu benennen, erhalten Sie eine Bestätigung. Name des Knoten wird eine Delegation Token ausgeben (rot) Benutzer wird der Token renewer erzählen (In diesem Fall ist es Job Tracker)

Question2) User trägt thisDelegation Token zusammen mit dem Job zu Job Tracker. Wird das Delegierungstoken mit dem Task-Tracker geteilt?

Schritte 10,11,12,13 und 14 stehen für: - für Job-Tracker ein Dienstticket anfordern, das Service-Ticket von KDC Dieses Ticket Job Tracker bekommen und ein ACK von Jobtracker Auftrag senden, erhalten + Delegationstoken zu JobTracker.

Die Schritte 15,16 und 17 stehen für: - Generieren Sie Blockzugriffstoken und verteilen Sie sie auf alle Datenknoten. senden blockID und Blockieren des Zugriffs-Token Job Tracker und Job Tracker wird es Tasktracker weitergeben

Frage 3) Wer ist für die BlockAccessToken und Block-ID aus dem Namen Knoten fragen? JobTracker oder TaskTracker

Entschuldigung, ich habe versehentlich die Nummer 18 verpasst. Step19 steht für: - Job-Tracker generiert Job-Token (braun) und übergibt es an die TaskTrackers.

Frage4) Kann ich daraus schließen, dass es einen Delegations-Token pro Benutzer gibt, der im gesamten Cluster verteilt wird, und gibt es einen Job-Token pro Job? Ein Benutzer hat also nur einen Delegations-Token und viele Job-Tokens (entspricht der Anzahl der von ihm eingereichten Jobs).

Bitte sagen Sie mir, wenn ich etwas verpasst habe oder ich mich irgendwann in meiner Erklärung geirrt habe.

+1

Rohit! Gute Analyse; Hatten Sie eine Lösung, um Hadoop zu sichern? Wenn ja, können Sie die Antwort in diesem Post teilen? –

+0

Bitte aktualisieren Sie die Antwort, wenn Sie es @Rohit Sarewar haben – Rengasamy

Antwort

0

Schritte zu folgen, um sicherzustellen, Hadoop sicher ist

  1. Kerberos Installieren in einem beliebigen Server zugänglich für alle Cluster-Knoten. yum install krb5-server yum krb5-workstation yum install krb5-libs

  2. Ändern der Konfigurationsdatei in KDC-Server-Konfiguration einrichten acl Dateien, admin keytab Dateien, für den Host installieren. /var/kerberos/krb5kdc/kdc.conf

  3. Ändern der Konfigurationsdatei /etc/krb5.conf einrichten KDC-Host und Admin-Server

  4. Erstellen von Datenbank in KDC-Host

    kdb5_util create $ erstellen - r host_name -s

  5. Administratoren In der ACL-Datei

    1. vi /etc/kdamin.acl
    2. hinzufügen Admin-Haupt 'admin/admin @ host_name' in dieser Datei
  6. hinzufügen Admin Haupt $ addprinc admin/admin @ host_name

Kerberos-Clients Installieren Sie auf allen Cluster-Knoten

yum install krb5-workstation

Kopieren Sie krb5.conf in alle Clusterknoten

Vergewissern Sie sich, indem Sie erforderlichen Konfigurationen https://hadoop.apache.org/docs/current/hadoop-project-dist/hadoop-common/SecureMode.html

Überprüfen des sicheren Modus in Hadoop aktivieren:

  • Anmeldung als normaler Benutzer Cluster-Gateway oder Knoten, auf dem Benutzer keytabs eingesetzt werden
  • Run „kinit -k -t/location/of/keytab-Datei username @ host_name "
  • Führen Sie HDFS-Befehle oder mapreduce-Jobs aus, um sicherzustellen, dass der Cluster gesichert ist

Dies sind die grundlegenden Schritte, um sicherzustellen, dass Kerberos in Ihrem Cluster aktiviert ist.