2013-04-13 2 views
-3

У меня есть установленный на одной машине установленный (один узел). Как мне взаимодействовать с hdf?Где находится hdfs?

Я думал, что создание каталога с использованием hadoop fs mkdir будет иметь все в этом каталоге в hdfs, но я могу взаимодействовать с ним в этом каталоге, используя обычные команды linux. Возможно, я полностью не понимаю, как работает файловая система, но я думал, что она добавлена ​​только и может быть доступна только с помощью api.

ответ

3

Hadooop есть три типа установки:

  1. Режим распределенного (кластер)
  2. режим Псевдо-распределенной (один узел)
  3. Локальный режим (один узел)

В первой установлены два режима HDFS. Но в третьем режиме HDFS не существует, а эмулируется. Вы можете вызывать команды типа «$ hadoop fs -ls», но он будет работать с вашей локальной файловой системой, а не с hdf.

Кроме того, HDFS не является полной функциональной файловой системой. Для того, чтобы взаимодействовать с ним, вы должны использовать команды в виду:

  • Hadoop фс -ls
  • Hadoop фс -mkdir your_directory
  • Hadoop фс -cat your_file

и т.д. .

HDFS не может быть установлен в файл linux (по крайней мере, без дополнительного программного обеспечения) и поддерживает ограниченные команды. Также вы не можете поместить файлы в hdfs с помощью команды «cp». Вы должны использовать

Hadoop фс -Положите local_file_or_directory

Для копирования файлов из HDFS в вашей локальной файловой системе следует использовать:

Hadoop фс -getфайла

1

HDFS является файловая система поверх файловой системы ОС, каждая из которых работает в собственном пространстве имен. Таким образом, пространство имен HDFS не отображается в пространстве имен ОС и. Используйте hadoop fs commands для взаимодействия с пространством имен HDFS.

Метаданные (папки, файлы в каждой папке, папка для сопоставления блоков) хранятся в файле fsImage в NameNode. offline image viewer можно использовать для просмотра содержимого файла fsImage в NameNode.

Смежные вопросы