В чем разница между Hadoop fs и обычными командами Unix? - PullRequest
1 голос
/ 14 марта 2019

Я новичок в Hadoop и HDFS, я пытаюсь понять, почему нужны команды Hadoop fs, а не просто использование эквивалентов команд Unix. Кажется, они оба работают, моей первой мыслью была команда Hadoop, которая напрямую взаимодействовала с наменодом HDFS и распространяла его на все узлы. Однако, похоже, это тот случай, когда я использую только команду оболочки Unix. Я залил интернет и не нашел легкого объяснения. Помощь очень ценится. Или ссылка на объяснение разницы.

Ответы [ 3 ]

1 голос
/ 14 марта 2019

Благодаря комментаторам TK421 это заставило меня подумать, что это из-за NFS, а также из-за не HDFS. Это реализация MAPR, так что она отличается, я нашел некоторую документацию от mapr, которая объясняет.

Вы также можете установить права на чтение, запись и выполнение для файла или каталог для пользователей и групп со стандартными командами UNIX, когда это том был смонтирован через NFS или с использованием стандартного hadoop fs команды.

https://mapr.com/docs/52/MapROverview/c_volumes.html

0 голосов
/ 15 марта 2019

Если вы работаете в HDFS через NFS, вы можете ожидать, что большинство простых команд будут работать правильно (например, ls, cd, mkdir, mv, rm, chmod, chgrp, chown). Единственная потребность в команде hadoop fs или hdfs dfs - это если вы используете расширенные списки ACL или хотите выполнять другие специфичные для Hadoop вещи, такие как:

  • изменить коэффициент репликации hadoop fs -setrep
  • удалить файлы в /user/USERNAME/.Trash hdfs dfs -expunge
0 голосов
/ 14 марта 2019

Оболочка Файловой системы (FS) включает в себя различные подобные оболочке команды, которые напрямую взаимодействуют с распределенной файловой системой Hadoop (HDFS), а также с другими файловыми системами, которые поддерживает Hadoop, такими как Local FS, HFTP FS, S3 FS идругие.Оболочка FS вызывается:

bin/hadoop fs <args>

Все команды оболочки FS принимают аргументы пути URI.Формат URI: схема: // полномочие / путь.Для HDFS схема - hdfs, а для локальной FS - файловая.Схема и полномочия являются необязательными.Если не указан, используется схема по умолчанию, указанная в конфигурации.Файл или каталог HDFS, например / parent / child, можно указать как

hdfs: // namenodehost / parent / child

или просто как

/ parent / child

(учитывая, что для вашей конфигурации задано значение hdfs: // namenodehost).

Большинство команд в оболочка FSведут себя как соответствующие команды Unix .

Вы не можете найти некоторые обычные команды оболочки, такие как -head, но доступны -tail и -cat.Тонкие различия в одних и тех же командах можно найти для отдельных команд здесь .

...