Ändern Sie die UID des vorhandenen Linux-Benutzers in LDAP, aber HDFS scheint sie nicht zu erkennen

Ändern Sie die UID des vorhandenen Linux-Benutzers in LDAP, aber HDFS scheint sie nicht zu erkennen

Ich habe eine Hadoop 1.2.1-Umgebung auf CentOS 6 eingerichtet. Außerdem verwende ich einen NFS-Proxy, der NFS in das lokale Dateisystem einbindet, sodass ich lokal auf die Dateien in HDFS zugreifen kann. Das funktionierte bis heute einwandfrei, aber ich wurde gebeten, die Benutzerauthentifizierung mit LDAP zu integrieren. Aus irgendeinem Grund muss ich die UID eines vorhandenen Unix-Benutzers ändern und diese neue UID in LDAP speichern.

Nach der Änderung scheint hdfs nicht in der Lage zu sein, die neue UID des Benutzers abzurufen. Das heißt, wenn ich eine neue Datei in hdfs einfüge, wird immer noch die alte UID verwendet, um die Datei in hdfs zu speichern. Ich weiß das, weil, wenn ich die UID der neuen Datei vom lokalen Einhängepunkt von hdfs aus überprüfe, die alte UID angezeigt wird. Und ich kann nicht auf die Datei im lokalen Dateisystem zugreifen, da sie einem anderen Benutzer gehört.

Ich habe den Hadoop testweise neu gestartet, aber ohne Wirkung. Irgendwelche Vorschläge?

Antwort1

Sie müssen sicherstellen, dass Sie den LDAP-Benutzer verwenden. Überprüfen Sie idbeim Schreiben der Datei, ob Sie tatsächlich der LDAP-Benutzer und nicht ein lokaler Benutzer sind.

So wie Sie schreiben, gehe ich davon aus, dass Sie versuchen, von einem anderen Server aus zu schreiben. Wenn ja, verwendet diese Maschine auch LDAP oder verwenden Sie ein lokales Konto? weil dieser Benutzer beim Schreiben der Datei seine eigene UID verwendet.

Dinge, die Sie überprüfen können:

  • /etc/nsswitch.conffür die Reihenfolge, in der eine Maschine Dateien oder LDAP zum Abrufen von Kontoinformationen verwendet
  • getent passwdum zu prüfen, ob es den LDAP-Benutzer überhaupt kennt
  • Meine persönliche Erfahrung ist, dass man vermeiden sollte, dass ein LDAP-Benutzer und ein lokaler Benutzer denselben Namen haben. Dies führt zu allen möglichen unangenehmen Problemen mit UIDs/Home-Verzeichnissen/usw. Wenn Sie also lokale Benutzer mit demselben Benutzernamen in LDAP haben, können Sie erwägen, diese vom lokalen Computer zu entfernen. Wenn ich einen Server auf LDAP-Authentifizierung migriere, entferne ich immer die lokalen Benutzer.

Antwort2

Hängen Sie das lokal auf Ihrem Computer gemountete Laufwerk aus und starten Sie den HDFS-Dienst neu.
Beginnen Sie mit dem Mounten des NDFs im lokalen Dateisystem, damit Sie lokal auf die Dateien in HDFS zugreifen können.

verwandte Informationen