/ / Wo sind die hdfs? [geschlossen] - hadoop, hdfs

Wo sind die hdfs? [geschlossen] - hadoop, hdfs

Ich habe einen Hadoop (Single-Node) auf meinem Rechner installiert. Wie interagiere ich mit den hdfs?

Ich dachte, dass ein Verzeichnis mit Hadoop erstellenfs mkdir würde alles in diesem Verzeichnis in den hdfs haben, aber ich kann interaktiv schreiben in dieses Verzeichnis mit normalen Linux-Befehlen. Vielleicht verstehe ich völlig falsch, wie das Dateisystem funktioniert, aber ich dachte, es wäre nur append und kann nur über seine API aufgerufen werden.

Antworten:

3 für die Antwort № 1

Hadoop haben drei Arten der Installation:

  1. Verteilter Modus (Cluster)
  2. Pseudo-verteilter Modus (einzelner Knoten)
  3. Lokaler Modus (einzelner Knoten)

In den ersten beiden Modi ist HDFS installiert. Aber im dritten Modus existiert HDFS nicht, sondern emuliert. Sie können Befehle wie "$ hadoop fs -ls" aufrufen, aber es funktioniert mit Ihrem lokalen Dateisystem, nicht mit hdfs.

Außerdem ist HDFS kein voll funktionsfähiges Dateisystem. Um damit zu interagieren, sollten Sie Befehle in Sicht verwenden:

  • hadoop fs -ls
  • hadoop fs -mkdir Ihr_Verzeichnis
  • hadoop fs -cat deine Datei

etc.

HDFS kann nicht auf Ihrem Linux-Dateisystem gemountet werden (zumindest ohne zusätzliche Software) und unterstützt begrenzte Kommandos. Sie können auch keine Dateien über den Befehl "cp" an hdfs senden. Du solltest benutzen

hadoop fs -put local_file_or_directory

Um Dateien von hdfs in Ihr lokales Dateisystem zu kopieren, sollten Sie Folgendes verwenden:

hadoop fs -get Dateiname


1 für die Antwort № 2

HDFS ist ein Dateisystem über dem Dateisystem des Betriebssystems, das jeweils in seinem eigenen Namespace ausgeführt wird. Daher ist der HDFS-Namespace im Namespace des Betriebssystems nicht sichtbar. Verwenden Sie das Hadoop-Dateisystem Befehle um mit dem HDFS-Namespace zu interagieren.

Die Metadaten (Ordner, Dateien in jedem Ordner, Zuordnung von Verzeichnis zu Block) werden in fsImage im NameNode gespeichert. Das Offline-Bildbetrachter kann verwendet werden, um den Inhalt der fsImage-Datei auf dem NameNode zu sehen.