Командная строка Hadoop
Рассмотрим разницу между командами hadoop fs {args}
, hadoop dfs {args}
и hdfs dfs {args}
.
Параметр fs
относится к общей файловой системе, которая может указывать на любую файловую систему, например, локальную, HDFS и т.д. Таким образом, fs
можно использовать при работе с различными файловыми системами, такими как Local FS, (S)FTP, S3 и другими.
Когда вы используете параметр dfs
, вы напрямую указываете взаимодействие с HDFS. Так, если необходимо работать только с HDFS, используйте команду hdfs dfs
. Если же требуется получить доступ/перенести данные между различными файловыми системами, используйте команду hadoop fs
.
Чтобы взаимодействовать с оболочкой HDFS, пользователь должен обладать соответствующими правами на чтение/запись к директории(-ям) HDFS. Директории могут быть созданы пользователями, принадлежащими группам hadoop
или hdfs
. В демонстрационных целях в примере ниже используется пользователь hdfs
.
Можно предоставить права root
текущему пользователю, как показано ниже:
$ sudo -s
Затем нужно переключиться на пользователя hdfs
:
$ su - hdfs
Теперь можно выполнять команды в оболочке HDFS.