GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Wie finde ich das Hadoop hdfs-Verzeichnis auf meinem System?

Wenn Sie ausführen:

hdfs dfs -copyFromLocal foo.txt bar.txt

dann wird die lokale Datei foo.txt in Ihr eigenes hdfs-Verzeichnis /user/popeye/bar.txt kopiert (wobei popeye ist Ihr Benutzername.) Als Ergebnis wird Folgendes erreicht:

hdfs dfs -copyFromLocal foo.txt /user/popeye/bar.txt

Stellen Sie vor dem Kopieren einer Datei in hdfs sicher, dass Sie zuerst das übergeordnete Verzeichnis erstellen. Sie müssen keine Dateien in diesem "Home"-Verzeichnis ablegen, aber (1) sollten Sie "/" nicht mit allen möglichen Dateien überladen, und (2) das Befolgen dieser Konvention hilft, Konflikte mit anderen Benutzern zu vermeiden.


Ihr Ansatz ist falsch oder Ihr Verständnis ist falsch

dfs.datanode.data.dir , ist der Ort, an dem Sie Ihre Datenblöcke speichern möchten

Wenn Sie hdfs dfs -ls / eingeben Sie erhalten eine Liste der Verzeichnisse in hdfs. Dann können Sie mit -copyFromLocal Dateien von lokal nach hdfs übertragen oder -put in ein bestimmtes Verzeichnis oder mit -mkdir Sie können ein neues Verzeichnis erstellen

Weitere Informationen finden Sie unter dem folgenden Link

http://hadoop.apache.org/docs/current/hadoop-project-dist/hadoop-hdfs/HDFSCommands.html


Gemäß der ersten Antwort arbeite ich sie ausführlich für Hadoop 1.x aus -

Angenommen, Sie führen dieses Skript auf einem Pseudoverteilungsmodell aus, Sie erhalten wahrscheinlich eine oder zwei Listen von Benutzern (NameNodes) illustriert -

Bei unserem vollständigen Verteilungsmodell haben Sie zunächst die Administratorrechte, um diese Dinge auszuführen, und es wird eine Anzahl von N-Listen von NameNodes (Benutzern) geben.

Jetzt kommen wir also zu unserem Punkt -

Greifen Sie zuerst auf Ihr Hadoop-Home-Verzeichnis zu und führen Sie von dort aus dieses Skript aus -

bin/hadoop fs -ls /

Das Ergebnis wird so aussehen -

drwxr-xr-x   - xuiob78126arif supergroup          0 2017-11-30 11:20 /user

also hier xuiob78126arif ist mein Name node(master/user) und das Verzeichnis NameNode(user) ist -

/user/xuiob78126arif/

Jetzt können Sie zu Ihrem Browser gehen und die Adresse -

suchen
http://xuiob78126arif:50070

und von dort erhalten Sie den Cluster Summary, NameNode Storage usw.

Hinweis:Das Skript liefert nur unter einer Bedingung Ergebnisse, wenn mindestens eine Datei oder ein Verzeichnis in DataNode existiert, andernfalls erhalten Sie -

ls: Cannot access .: No such file or directory.

In diesem Fall legen Sie also zuerst eine beliebige Datei mit bin/hadoop fs -put <source file full path> ab

und danach den bin/hadoop fs -ls / ausführen Skript.

und jetzt hoffe ich, dass du ein wenig zu deinem Thema gekommen bist, danke.


Linux
  1. So finden Sie die Anzahl der Dateien in einem Verzeichnis und Unterverzeichnissen

  2. Wie finde ich das Home-Verzeichnis eines Benutzers unter Linux oder Unix?

  3. Wie finde ich den Besitzer einer Datei oder eines Verzeichnisses in Python?

  4. Shell - Wie finde ich das Verzeichnis eines Befehls?

  5. Wie kann ich dos2unix auf einem ganzen Verzeichnis ausführen?

So zählen Sie Dateien im Verzeichnis in Linux

So finden Sie Linux-Systemdetails mit inxi

So finden Sie die älteste Datei in einem Verzeichnisbaum in Linux

So finden Sie die zuletzt angemeldeten Benutzer in Linux

So treten Sie einem Linux-System einer Active Directory-Domäne bei

So ermitteln Sie die Gesamtgröße eines Verzeichnisses in Linux