6129/2017 ‘Apache Hadoop 2.4.1 -Fle System Shell Guide
Overview
appendToFile
cat
chore
chmod
chown
copyFromLocal
copyToLocal
count
ep
du
dus
expunge
get
getfact
getmerge
Is
Isr
mkdir
moveFromLocal
moveToLocal
put
setfac!
setrep
stat
tall
test
text
touchz
Overview
‘The File System (FS) shell includes various shell-like commands that directly interact with the Hadoop Distributed File
System (HDFS) as well as other file systems that Hadoop supports, such as Local FS, HFTP FS, S3 FS, and others. The
FS shell is invoked by:
bin/hadoop fs
AIL FS shell commands take path URTs as arguments. The URI format is schene: //authority/path. For HDFS the scheme
is hefs, and for the Local FS the scheme is file. The scheme and authority are optional. If not specified, the default
scheme specified in the configuration Is used. An HDFS file or directory such as /parent/child can be specified as
hfs: //nanenodehost/parent/child or simply as /parent/child (given that your configuration is set to point to
has: //nanenodehost).
Most of the commands in FS shell behave like corresponding Unix commands. Differences are described with each of the
commands, Error information is sent to stderr and the output is sent to stdout.
appendToFile
Usage: hdfs dfs -appendToFile ...
Append single src, or multiple sres from local file system to the destination file system. Also reads input from stdin and
appends to destination file system.
+ hdfs dfs -appendToFile localfile /user/hadoop/hadoopfile
+ dfs dfs -appendToFile localfile1 localfile2 /user/hadoop/nadoopfile
+ hdfs dfs -appendToFile localfile hdfs://nn.exanple.con/nadoop/hadoopfile
hips:madoop apache.orgidocsr2¢.‘ihadoop-projec-dsthiadoop-common/FleSystemShelhiml ve6129/2017 ‘Apache Hadoop 2.4.1 -Fle System Shell Guide
+ hdfs dfs -appendToFile - hdfs://nn.exanple.con/hadoop/hadoopfile Reads the Input from stdin.
Exit Code
Returns 0 on success and 1 on error.
cat
Usage: hdfs dfs -cat URI [URI
Copies source paths to stdout.
Example:
+ hdfs dfs -cat hdfs://nnt.example.con/file1 hdfs://nn2.example.con/File2
+ hdfs dfs -cat file:///File3 /user/nadoop/ Files
Exit Code
Returns 0 on success and -1 on error.
chgrp
Usage: hdfs dfs ~chgrp [-R] GROUP URI [URI .
Change group association of files. The user must be the owner of files, or else 2 super-user. Additional information is in
the Permissions Guide.
Options
+ The -R option will make the change recursively through the directory structure.
chmod
Usage: hdfs dfs -chmod [-R] URI [URI
Change the permissions of files. With -R, make the change recursively through the directory structure. The user must
be the owner of the file, or else a super-user: Additional information is in the Permissions Guide.
Options
+ The -R option will make the change recursively through the directory structure.
chown
Usage: hdfs dfs ~chown [-8] [OWNER][:[GROUP]] URI (URI ]
Change the owner of files. The user must be a super-user. Additional information is in the Permissions Guide.
Options
+ The -R option will make the change recursively through the directory structure.
copyFromLocal
Usage: hdfs dfs -copyFromLocal URE
Similar to put command, except that the source Is restricted to a local file reference.
hips:madoop apache.orgidocsr2¢.‘ihadoop-project-dsthiadoop-common/FleSystemShelhiml 2186129/2017 ‘Apache Hadoop 2.4.1 -Fle System Shell Guide
Options:
+ The -f option will overwrite the destination if it already exists.
copyToLocal
Usage: néfs dfs -copyToLocal [-ignorecre] [-ere] URE
Similar to get command, except that the destination is restricted to 2 local file reference,
count
Usage: hdfs dfs -count [-a]
Count the number of directories, files and bytes under the paths that match the specified file pattern. The output
columns with -count are: DIR_COUNT, FILE_COUNT, CONTENT_SIZE FILE_NAME
‘The output columns with -count -q are: QUOTA, REMAINING_QUATA, SPACE_QUOTA, REMAINING_SPACE_QUOTA,
DIR_COUNT, FILE_COUNT, CONTENT_SIZE, FILE_NAME
Example:
+ nafs dfs -count hefs://nn1.exanple.con/Filel hd
+ hdfs dfs -count -¢ hdfs://nnd example. con/#ile1
/nn2. example. con/File2
Exit Code
Returns 0 on success and -1 on error.
cp
Usage: hdfs dfs -cp [-F] URT [URI ...]
Copy files from source to destination. This command allows multiple sources as well in which case the destination must
be a directory.
Options:
+ The -f option will overwrite the destination if it already exists
Example:
+ hdfs dfs -cp /user/hadoop/filet /user/hadoop/File2
+ hdfs dfs -cp /user/hadoop/file1 /user/hadoop/File2 /user/hadoop/dir
Exit Code
Returns 0 on success and -1 on error.
du
Usage: hdfs dfs -du [-s] [-h] URI [URI .
Displays sizes of files and directories contained in the given directory or the length of a file in case its just a file.
Options:
+ The -s option will result in an aggregate summary of file lengths being displayed, rather than the individual files,
+ The -h option will format file sizes in @ "human-readable" fashion (e.g 64,0m instead of 67108864)
Example:
hps:thadeop apache.orgldeesr24.1Jhadoop-project-dstnadoop-common/FleSystomShelhiml a86129/2017 ‘Apache Hadoop 2.4.1 -Fle System Shell Guide
+ his dfs -du /user/hadoop/dirt /user/hadoop/file1 hdfs://nn.example.com/user/hadoop/dirt
Exit Code: Returns 0 on success and -1 on error,
dus
Usage: hdfs dfs -dus
Displays a summary of file lengths. This is an alternate form of hdfs dfs -du -s.
expunge
Usage: hdfs dfs expunge
Empty the Trash. Refer to the HDFS Architecture Guide for more information on the Trash feature.
get
Usage: hdfs dfs -get [-ignorecre] [-cre]
Copy files to the local file system. Files that fail the CRC check may be copied with the -ignorecrc option. Files and CRC
may be copied using the -cre option.
Example:
+ hdfs dfs -get /user/hadoop/file localfile
+ hdfs dfs -get hdfs://nn.exanple.con/user/hadoop/File localfile
Exit Code
Returns 0 on success and -1 on error.
getfacl
Usage: hdfs dfs -getfacl [-R) [adén1]
Takes a source directory and a destination file as input and concatenates files in src into the destination loca! file.
Optionally addn! can be set to enable adding a newline character at the end of each file.
hps:thadeop apache.orgldeesr24.1Jhadoop-project-dstnadoop-common/FleSystomShelhiml 4i86129/2017 ‘Apache Hadoop 2.4.1 -Fle System Shell Guide
dfs dfs -1s
For a file returns stat on the file with the following format:
permissions nunber_of_replicas userid groupid filesize modification date modification_time filenam
For a directory it returns list of its direct children as in Unix. A directory is listed as:
permissions userid groupid modification date modification_time dirname
Example:
+ hdfs dfs -1s /user/hadoop/filer
Exit Code:
Returns 0 on success and -1 on error.
Isr
Usag
ids dfs -1sr cargs>
Recursive version of Is, Similar to Unix Is -R.
mkdir
Usage: hdfs dfs -nkdir [-p]
‘Takes path ur's as argument and creates directories.
Options:
+ The -p option behavior is much like Unix mkdir -p, creating parent directories along the path.
Example:
+ hdfs dfs -rkdir /user/hadoop/dirt /user/hadoop/dir2
+ hdfs dfs -rkdir hofs://nnt.example.con/user/hadoop/dir has: //nn2.exanple.con/user/hadoop/dir
Exit Code:
Returns 0 on success and -1 on error,
moveFromLocal
Usage: dfs -noveFronLocal <ést>
Similar to put command, except that the source localsrc is deleted after
moveToLocal
Usage: hdfs dfs -moveToLocal [-cre]
hips:madoop apache.orgidocsr2¢.‘ihadoop-projec-dsthiadoop-common/FleSystemShelhiml
586129/2017 ‘Apache Hadoop 2.4.1 -Fle System Shell Guide
Displays a "Not implemented yet” message,
mv
Usage: hdfs dfs -nv URT [UR ...]
Moves files from source to destination. This command allows multiple sources as well in which case the destination
needs to be a directory. Moving files across file systems is not permitted
Example:
+ hdfs dfs -nv /user/hadoop/file /user/hadoop/File2
+ hdfs dfs -nv hdfs://nn.exanple.com/filel hdfs://nn.exanple.con/#ile2 hdfs: //nn-exanple.con/file3
dfs: //nn example. con/dirt
Exit Code
Returns 0 on success and =1 on error,
put
Usage: hdfs dfs -put ...
Copy single src, or multiple srcs from local file system to the destination file system. Also reads input from stdin and
writes to destination file system.
+ hdfs dfs -put localfile /user/hadoop/hadoopfile
+ hdfs dfs -put localfile1 localfile2 /user/hadoop/hadoopdir
+ hdfs dfs -put localfile hdfs://nn.exanple.con/hadoop/hadoopfile
+ hdfs dfs -put - hefs://nn.example..con/nadoop/hadoopfile Reads the Input from stdin
Exit Code
Returns 0 on success and -1 on error.
rm
Usage: hdfs dfs -rm (-skiptrash] URE [URE ...]
Delete files specified as args, Only deletes non empty directory and files. If the -skipTrash option is specified, the trash,
if enabled, will be bypassed and the specified file(s) deleted immediately. This can be useful when it is necessary to
delete files from an over-quota directory, Refer to rmr for recursive deletes
Example
+ hdfs dfs -ra hdfs://nn.example.com/File /user/hadoop/enptydir
Exit Code
Returns 0 on success and -1 on error,
rmr
Usage: hdfs dfs -nr [~skipTrash] URI [URI .
Recursive version of delete. If the -skipTrash option is specified, the trash, if enabled, will be bypassed and the specified
file(s) deleted immediately, This can be useful when it is necessary to delete files from an over-quota directory.
Example:
+ hdfs dfs -rnr /user/hadoop/éir
hips:madoop apache.orgidocsr2¢.‘ihadoop-project-dsthiadoop-common/FleSystemShelhiml ae6129/2017 ‘Apache Hadoop 2.4.1 -Fle System Shell Guide
+ hdfs dfs -rar hdfs://nn.exanple. con/user/hadoop/dir
Exit Code:
Returns 0 on success and -1 on error.
setfacl
Usage:
idfs dfs -setfacl [-R] [-b]-k -m]-x ]|[--set ]
Sets Access Control Lists (ACLs) of files and directories.
Options:
+ -b: Remove all but the base ACL entries. The entries for user, group and others are retained for compatibility with
permission bits.
*k: Remove the default ACL.
-R: Apply operations to all files and directories recursively,
-m: Modify ACL, New entries are added to the ACL, and existing entries are retained.
-x: Remove specified ACL entries, Other ACL entries are retained
-set: Fully replace the ACL, discarding all existing entries, The acl_spec must include entries for user, group, and
others for compatibility with permission bits,
+ aclspec: Comma separated list of ACL entries.
+ path: File or directory to modify.
Examples:
+ hdfs dfs -setfacl -m user:hadoop:rw- /#ile
+ hdfs dfs -setfacl -x userchadoop /file
+ hdfs dfs -setfacl -b /File
+ hdfs dfs -setfacl -k /dir
+ hdfs dfs -setfacl --set user: :rw-,user:hadoop:rw-, group: :r--, other:
+ hdfs dfs -setfacl -R -m user:hadoop:r-x /dir
+ hdfs dfs -setfacl -m default:user:nadoop:r-x /dir
Exit Code:
Returns 0 on success and non-zero on error.
setrep
usage:
\dfs dfs -setrep [-R] [-w]
Changes the replication factor of a file. If path is a directory then the command recursively changes the replication
factor of all files under the directory tree rooted at path
options:
+The -w fag requests thatthe command wait forthe repiation to complete. This can potentially take a very long
«Tho -R fag is accepted for backwards compatbiliy. It has no effect
example:
+ his dfs -setrep -w 3 /user/nadoop/dira
nit Code:
Returns 0 on success and -1 on error,
stat
hips:madoop apache.orgidocsr2¢.‘ihadoop-project-dsthiadoop-common/FleSystemShelhiml 86129/2017 ‘Apache Hadoop 2.4.1 -Fle System Shell Guide
Usage: hdfs dfs -stat URI (URI ...]
Returns the stat information on the path.
Example:
+ hdfs dfs -stat path
Exit Code: Returns 0 on success and -1 on error,
tail
Usage: hdfs dfs -tail [-f] URI
Displays last kilobyte of the file to stdout.
Options:
+ The -f option will output appended data as the file grows, as in Unix,
Example:
+ hdfs dfs -tail pathname
Exit Code: Returns 0 on success and -1 on error,
test
Usage: hdfs dfs -test -[ezd] URI
Options:
+ The -e option will check to see if the file exists, returning 0 if true.
+ The -z option will check to see if the file Is zero length, returning 0 if true.
+ The -d option will check to see if the path Is directory, returning 0 if true.
Example
+ hdfs dfs -test -e filename
text
Usage: hdfs dfs -text
‘Takes a source file and outputs the file in text format. The allowed formats are zip and TextRecordinputStream.
touchz
Usage: hdfs dfs -touchz URT [URT ...]
Create a file of zero length.
Example:
+ hadoop -touchz pathname
Exit Code: Returns 0 on success and -1 on error,
hps:thadeop apache.orgldeesr24.1Jhadoop-project-dstnadoop-common/FleSystomShelhiml
a8