Zugriff verweigert bei hdfs
Ich bin neu auf hadoop distributed file system habe ich die komplette installation von hadoop single-node auf meinem Rechner.aber nach, wenn ich dabei bin, zum hochladen von Daten auf hdfs es eine Fehlermeldung geben Permission Denied
.
Nachricht vom terminal mit dem Befehl:
hduser@ubuntu:/usr/local/hadoop$ hadoop fs -put /usr/local/input-data/ /input
put: /usr/local/input-data (Permission denied)
hduser@ubuntu:/usr/local/hadoop$
Nach der Verwendung von sudo und das hinzufügen von hduser zu sudouser:
hduser@ubuntu:/usr/local/hadoop$ sudo bin/hadoop fs -put /usr/local/input-data/ /inwe
put: org.apache.hadoop.security.AccessControlException: Permission denied: user=root, access=WRITE, inode="":hduser:supergroup:rwxr-xr-x
hduser@ubuntu:/usr/local/hadoop$
InformationsquelleAutor der Frage Vignesh Prajapati | 2012-07-21
Schreibe einen Kommentar Antworten abbrechen
Du musst angemeldet sein, um einen Kommentar abzugeben.
Löste ich dieses problem durch temporäre Deaktivierung des dfs permission.By hinzufügen von unten Eigentum code
zu conf/hdfs-site.xml
InformationsquelleAutor der Antwort Vignesh Prajapati
Ich hatte ähnliche situation, und hier ist mein Ansatz ist etwas anders:
Was Sie wirklich tun ist, Sie Lesen lokale Datei in übereinstimmung mit Ihrer lokalen Berechtigungen aber beim platzieren der Datei in HDFS Sie authentifiziert sind, wie Benutzer mit
hdfs
. Sie können dies tun, mit anderen ID (Vorsicht vor echten auth-Systeme-Konfiguration, aber ist dies meistens nicht der Fall).Vorteile:
sudo
.InformationsquelleAutor der Antwort Roman Nikitchenko
Sie erleben, sind zwei getrennte Probleme hier:
Hier, die Benutzer
hduser
keinen Zugriff auf das lokale Verzeichnis/usr/local/input-data
. Das heißt, Ihr lokaler Berechtigungen zu restriktiv sind. Ändern Sie es.Hier, die Benutzer
root
(da man sich mit sudo) keinen Zugriff auf das HDFS-Verzeichnis/input
. Wie Sie sehen können:hduser:supergroup:rwxr-xr-x
sagt nurhduser
Schreibzugriff hat. Hadoop nicht wirklich Respektroot
als einen besonderen Benutzer.Dieses Problem zu beheben, schlage ich vor, Sie ändern die Berechtigungen auf der lokalen Daten:
Versuchen Sie dann, die
put
Befehl wieder als hduser.InformationsquelleAutor der Antwort Donald Miner
Starten Sie eine shell als hduser (von der Wurzel), und führen Sie Ihren Befehl
[update]
Beachten Sie auch, dass die
hdfs
Benutzer ist der super-Benutzer und kann alle r/w-Rechte.InformationsquelleAutor der Antwort Martin Tapp
Ich habe dieses problem gelöst, indem Sie mithilfe der folgenden Schritte
InformationsquelleAutor der Antwort java_dev