# 格式化hdfs hadoop namenode -format # 查看hadoop下的文件夹 hadoop fs -ls # 创建hdfs文件夹 hadoop fs -mkdir /user/input # 将本地文件file.txt 复制到新建文件夹,file->hdfs hadoop fs -put /user/wangbin/input/ip_data.txt wangbin # 从hadoop复制到hadoop # 从wangbin复制到wangbin hadoop fs -put ip_list.txt /user/hadoop # 从本地复制到hdfs hadoop fs -copyFromLocal ip_data.txt /user/hadoop # 从hdfs复制到本地 hadoop fs -copyToLocal sample.txt sample.txt # 查看文件内容 hadoop fs -cat /user/output/outfile # 查看顺序文件的内容 hadoop fs -text input/numbers.seq |head # 从hdfs获取文件到本地,hdfs->file hadoop fs -get /user/output/ /home/hadoop_tp/ # 更改所有人 hadoop fs -chown -R wangbin:wangbin /user/wangbin # 删除含有文件的文件夹 hadoop fs -rmr output # 并行复制文件或文件夹,以MapReduce作业实现,-overwrite 覆盖目标文件,-update 仅更新发生变化的部分 hadoop distcp ip_data.txt ip_datav2.txt # 打包project为jar包,上传文件 export HADOOP_CLASSPATH=mapReduceDemoV1.jar # 将hdfs上output目录下的多个文件合并成一个文件output-merge,并存储到本地,hdfs->file hadoop fs -getmerge output output-merge # 确定input存在,且output不存在,执行jar包 hadoop MaxTemperature sample.txt output
# 将本地文件追加到hdfs,file->hdfs
hadoop fs -appendToFile 1.txt 2.txt hdfs://cdh5/tmp/lxw1234.txt
# 将hdfs文件追加到hdfs
hadoop fs -cat hdfs://cdh5/tmp/lxw1234/*.txt | hadoop fs -appendToFile - hdfs://cdh5/tmp/hdfs_largefile.txt
#查看hadoop所有命令 hadoop fs #显示该目录中每个文件或目录的大小 hadoop fs -du /tmp/logs/shtermuser/-1531305777000.txt #类似于du,PATH为目录时,会显示该目录的总大小 hadoop fs –dus PATH #循环列出目录、子目录及文件信息 hadoop fs –lsr #从HDFS文件系统删除test.txt文件,rm命令也可以删除空目录 hadoop fs –rm /user/sunlightcs/test.txt #修改HDFS系统中/user/sunlightcs目录所属群组,选项-R递归执行,跟linux命令一样 hadoop fs –chgrp [-R] /user/sunlightcs #修改HDFS系统中/user/sunlightcs目录拥有者,选项-R递归执行 hadoop fs –chown [-R] /user/sunlightcs #修改HDFS系统中/user/sunlightcs目录权限,MODE可以为相应权限的3位数或+/-{rwx},选项-R递归执行 hadoop fs –chmod [-R] MODE /user/sunlightcs #清空回收站,文件被删除时,它首先会移到临时目录.Trash/中,当超过延迟时间之后,文件才会被永久删除 hadoop fs –expunge 对PATH进行如下类型的检查: -e PATH是否存在,如果PATH存在,返回0,否则返回1 -z 文件是否为空,如果长度为0,返回0,否则返回1 -d 是否为目录,如果PATH为目录,返回0,否则返回1 hadoop fs –test –[ezd] PATH echo $?获取返回值 #显示文件的内容,当文件为文本文件时,等同于cat,文件为压缩格式(gzip以及hadoop的二进制序列文件格式)时,会先解压缩 hadoop fs –text PATH 查看某个[ls]命令的帮助文档 hadoop fs –help ls
#移动文件,源目录可以有多个,目标只能是一个 hadoop fs -mv src dst #统计hdfs对应路径下的目录个数,文件个数,文件总计大小 hadoop fs -count <hdfs path>
#创建一个0字节的空文件
hadoop fs -touchz pathname
#计算目录、文件个数和字节数
#hadoop fs -count path
#将单个src或多个srcs从本地文件系统附加到目标文件系统。 还从stdin读取输入并附加到目标文件系统。
hadoop fs -appendToFile localfile /user/hadoop/hadoopfile
hadoop fs -appendToFile localfile1 localfile2 /user/hadoop/hadoopfile
hadoop fs -appendToFile localfile hdfs://nn.example.com/hadoop/hadoopfile
#返回文件的校验信息
hadoop fs -checksum URI
#显示目录可用空间
hadoop fs -df path
#查找与指定表达式匹配的所有文件,并将选定的操作应用于它们。 如果未指定路径,则默认为当前工作目录。
hadoop fs -find / -name test -print
#显示文件和目录的访问控制列表(ACL)。 如果目录具有默认ACL,则getfacl还会显示默认ACL。
hadoop fs -getfacl [-R] <path>
#显示文件或目录的扩展属性名称和值(如果有)。
hadoop fs -getfattr [-R] -n name | -d [-e en] <path>
#以指定格式打印<path>中文件/目录的统计信息。
hadoop fs -stat [格式] <路径> ...
#将所有与指定文件模式匹配的文件截断为指定的长度。
hadoop fs -truncate [-w] <length> <paths>