1.HDFS启动与关闭
- 启动脚本:
start-all.sh
- 关闭脚本:
stop-all.sh
2.HDFS文件操作命令
2.1 操作命令格式
hdfs dfs -cmd args
cmd是具体命令
args是命令参数
2.2 cat
格式:hdfs dfs -cat fileurl
作用:将参数所指的文件内容输出到stdout
示例:
- hdfs dfs -cat /user/input/test
2.3 chgrp
格式:hdfs dfs -chgrp [-R] GROUP URL
作用:改变文件所属的用户组。如果使用-R选项,则这一操作对整个目录结构递归执行。要使用这个命令必须是该文件的所属用户或者超级用户。
2.4 chmod
格式:hdfs dfs -chmod [-R] URL
作用:修改文件的权限。如果加了-R选项则对整个目录进行递归执行。
2.5 chown
格式:hdfs dfs -chown [-R] [OWNER] [,[GROUP]] URI
作用:改变文件的所属用户。如果使用-R选项,则这一操作对整个目录进行递归执行。使用这一命令的用户必须是文件在命令变更之前的所属用户,或者是超级用户。
2.6 copyFromLocal
格式:hdfs dfs -copyFromLocal
URI 作用:与put命令相似,但是要限定源文件路径为本地文件系统。
2.7 copyToLocal
格式:hdfs dfs -copyToLocal [-ignorecrc] [-crc] URI
作用:与get命令类似,但是要限定目标文件路径为本地文件系统。
2.8 count
格式:hdfs dfs -count [-q]
作用:统计匹配对应路径下的目录数,文件数,字节数(文件大小)。
选项意义:使用-count时,输出的列为:DIR_COUNT,FILE_COUNT,CONTENT_SIZE,FILE_NAME
从左到右分别对应 : 目录下已存在的目录数,文件数,文件大小,文件名
使用-count -q时,输出的列为:
QUOTA,REMAINING_QUATA , SPACE_QUOTA , REMAINING_SPACE_QUATA , DIR_COUNT,
FILE_COUNT , CONTENT_SIZE , FILE_NAME
从左到右分别对应 : 目录下最大允许文件+目录数(不存在上限,则为none),目录下可增加目录数,文件数(不存在上限,则为inf) ,目录下最大允许空间(不存在上限,则为none),目录下可用最大空间(不存在上限,则为inf);后面几个和-count选项一致,分别对应目录下已存在的目录数,文件数,文件大小,文件名。
示例:
- hdfs dfs -count hdfs://nn1.example.com/file1 hdfs://nn2.example.com/file2
- hdfs dfs -count -q hdfs://nn1.example.com/file1
成功结束返回0,出现错误返回-1.
2.9 cp
格式:hdfs dfs -cp URI
作用:将文件拷贝到目标路径之中。如果
为目录的话,可以将多个文件拷贝到该目录下 示例:
- hdfs dfs -cp /user/input/file1 /user/output/file2
- hdfs dfs -cp /user/input/file1 /user/input/file2 /user/output
返回值:成功返回0,出现错误返回1
2.10 du
格式:hdfs dfs -du [-s] [-h] URI
作用:如果参数为目录,显示该目录+文件下的大小;若参数为单个文件,则显示文件大小。
选项意义:
-s 只输出所有文件大小的累加和,而不是单个文件的大小。
-h 会将文件大小的数值用方便阅读的形式表示,比如用64.0M代替67108864
示例:
- hdfs dfs -du /user/hadoop/dir1 /user/hadoop/file1 hdfs://nn.example.com/user/hadoop/dir1
返回值:成功结束返回0,出现错误返回-1