Hadoop常用命令
命令基本格式
hadoop fs -cmd <args>
ls
hadoop fs -ls / hadoop fs -ls -R /
put
hadoop fs -put <local file> <hdfs file>
hadoop fs -put dongle.c / hadoop fs -ls /
moveFormLocal
hadoop fs -moveFromLocal <local src> ... <hdfs dst> # 与put相似,但是源文件从src消失 hadoop fs -copyFromLocal <local src> ... <hdfs dst> # 与put相似,可以从键盘读取输入到hdfs
get
hadoop fs -get <hdfs file> <local file or dir>
copyToLocal
hadoop fs -copyToLocal <hdfs src> <local src> # 与get类似
rm
hadoop fs -rm <hdfs file> hadoop fs -rm -r <hdfs dir>
mkdir
hadoop fs -mkdir <hdfs path> hadoop fs -mkdir -p <hdfs path>
getmerge
将hdfs指定目录下所有的文件排序后合并到local指定的文件中,文件不存在时会自动创建,文件存在时会覆盖里面的内容。
hadoop fs -getmerge <hdfs dir> <local file> hadoop fs -getmerge -nl <hdfs dir> <local file>
加上nl选项后,合并到local file中的hdfs文件之间会空出一行。
cp
hadoop fs -cp <hdfs file> <hdfs file>
mv
hadoop fs -mv <hdfs file> <hdfs file>
count
统计hdfs对应路径下的目录个数,文件个数,文件总计大小
hadoop -count <hdfs path>
du
显示hdfs对应路径下每个文件夹和文件的大小
hadoop fs -du <hdfs path> hadoop fs -du -s <hdfs path> hadoop fs -du -h <hdfs path>
text
将文本文件或某些格式的非文本文件通过文本格式输出
hadoop fs -text <hdfs file>
setrep
改变一个文件在hdfs中的副本个数
hadoop fs -setrep -R 3 <hdfs path>
stat
hadoop fs -stat [format] <hdfs path>
返回对应路径的状态信息
[format]可选参数有:%b(文件大小), %o(Block大小),%n(文件名),%r(副本个数),%y(最后一次修改日期和时间)
tail
hadoop fs -tail <hdfs file>
archive
hadoop archive -archiveName name.har -p <hdfs parent dir> <src file> <hdfs dst dir> hadoop archive -archiveName hadoop.har -p /user 1.txt 2.txt /des
解释:name.har是压缩包名,hdfs parent dir是需要压缩的文件所在的父目录,src file 是需要压缩文件的列表,hdfs dst dir 是压缩后的压缩包的位置。
balancer
hdfs balancer
如果管理员发现某些DataNode保存数据过多,某些DataNode保存数据较少,可以使用上述命令手动启动内部的均衡过程
dfsadmin
hdfs dfsadmin -help
管理员可以通过dfsadmin管理HDFS
hdfs dfsadmin -safemode <enter| leave | get | wait>
enter:进入安全模式
leave:离开安全模式
get:获知是否开启安全模式
wait:等待离开安全模式
distcp
用在两个hdfs之间拷贝数据