在介绍命令之前,首先要知道hdfs dfs、hadoop fs、hadoop dfs三个命令的区别。
hadoop fs:通用的文件系统命令,针对任何系统,比如本地文件、HDFS文件、HFTP文件、S3文件系统等。
hadoop dfs:特定针对HDFS的文件系统的相关操作,但是已经不推荐使用。
hdfs dfs:与hadoop dfs类似,同样是针对HDFS文件系统的操作,官方推荐使用。
hdfs dfs -mkdir dir 创建文件夹
hdfs dfs -mkdir -p dir 递归创建文件夹
hdfs dfs -rmr dir 删除文件夹dir
hdfs dfs -ls 查看目录文件信息
hdfs dfs -lsr 递归查看文件目录信息
hdfs dfs -stat path 返回指定路径的信息
hdfs dfs -du -h dir 按照适合阅读的形式人性化显示文件大小
hdfs dfs -du path/file显示目标文件file的大小
hdfs dfs -dus uri 递归显示目标文件的大小
hdfs dfs -chgrp group path 改变文件所属组
hdfs dfs -chgrp -R group /dir 递归更改dir目录的所属组
hdfs dfs -chmod [-R] 权限 path 改变文件的权限
hdfs dfs -chown owner[-group] /dir 改变文件的所有者
hdfs dfs -chown -R owner[-group] /dir 递归更改dir目录的所属用户
setfacl是linux中更精细的权限,可以精确到文件,-R表示递归 -m表示设置文件acl规则
hdfs dfs -setfacl -R -m user:hutest:rwx /test
hdfs dfs setfacl –m u:xiaodu:rwx file 设置xiaodu用户对file文件的rwx权限
hdfs dfs setfacl –m g:xiaodu:rwx file 设置xiaodu用户组对file文件的rwx权限
hdfs dfs setfacl –x g:xiaodu file 删除xiaodu组对file文件的所有权限
hdfs dfs -setfacl -x user:xiaodu /test 删除xiaodu组对/test目录的所有权限
使用getfacl查看权限
hdfs dfs -getfacl /test
hdfs dfs -getfacl -R /test
hdfs dfs -touchz a.txt 创建长度为0的空文件a.txt
hdfs dfs -rm file 删除文件file
hdfs dfs -put file dir 向dir文件上传file文件
hdfs dfs -put filea dir/fileb 向dir上传文件filea并且把filea改名为fileb
hdfs dfs -get file dir 下载file到本地文件夹
hdfs dfs -getmerge hdfs://Master:9000/data/SogouResult.txt CombinedResult 把hdfs里面的多个文件合并成一个文件,合并后文件位于本地系统
hdfs dfs -cat file 查看文件file
hdfs fs -text /dir/a.txt 如果文件是文本格式,相当于cat,如果文件是压缩格式,则会先解压,再查看
hdfs fs -tail /dir/a.txt查看dir目录下面a.txt文件的最后1000字节
hdfs dfs -copyFromLocal localsrc path 从本地复制文件
hdfs dfs -copyToLocal /hdfs/a.txt /local/a.txt 从hdfs拷贝到本地
hdfs dfs -copyFromLocal /dir/source /dir/target 把文件从原路径拷贝到目标路径
hdfs dfs -mv /path/a.txt /path/b.txt 把文件从a目录移动到b目录,可用于回收站恢复文件
hdfs dfs -test -e /dir/a.txt 判断文件是否存在,正0负1
hdfs dfs -test -d /dir 判断dir是否为目录,正0负1
hdfs dfs -test -z /dir/a.txt 判断文件是否为空,正0负1
hdfs dfs -expunge 清空回收站
hdfs dfsadmin -safemode enter 进入安全模式
hdfs dfsadmin -sfaemode leave 离开安全模式
hdfs dfsadmin -decommission datanodename 关闭某个datanode节点
hdfs dfsadmin -finalizeUpgrade 终结升级操作
hdfs dfsadmin -upgradeProcess status 查看升级操作状态
hdfs version 查看hdfs版本
hdfs daemonlog -getlevel
hdfs daemonlog -setlevel
hdfs dfs -setrep -w 副本数 -R path 设置文件的副本数
start-dfs.sh 启动namenode,datanode,启动文件系统
stop-dfs.sh 关闭文件系统
start-yarn.sh 启动resourcemanager,nodemanager
stop-yarn.sh 关闭resourcemanager,nodemanager
start-all.sh 启动hdfs,yarn
stop-all.sh 关闭hdfs,yarn
hdfs-daemon.sh start datanode 单独启动datanode
start-balancer.sh -t 10% 启动负载均衡,尽量不要在namenode节点使用
hdfs namenode -format 格式化文件系统
hdfs namenode -upgrade 分发新的hdfs版本之后,namenode应以upgrade选项启动
hdfs namenode -rollback 将namenode回滚到前一版本,这个选项要在停止集群,分发老的hdfs版本之后执行
hdfs namenode -finalize finalize会删除文件系统的前一状态。最近的升级会被持久化,rollback选项将再不可用,升级终结操作之后,它会停掉namenode,分发老的hdfs版本后使用
hdfs namenode importCheckpoint 从检查点目录装载镜像并保存到当前检查点目录,检查点目录由fs.checkpoint.dir指定
hdfs jar file.jar 执行jar包程序
hdfs job -kill job_201005310937_0053 杀死正在执行的jar包程序
hdfs job -submit
hdfs job -status
hdfs job -counter
hdfs job -kill
hdfs job -events
hdfs job -history [all]
hdfs job -history
hdfs job -list [all] 显示所有作业。-list只显示将要完成的作业。
hdfs job -kill -task
hdfs job -fail -task
hdfs fsck
hdfs fsck
hdfs fsck
hdfs fsck
hdfs fsck
hdfs fsck
hdfs fsck
hdfs pipes -conf
hdfs pipes -jobconf
hdfs pipes -input
hdfs pipes -output
hdfs pipes -jar
hdfs pipes -inputformat
hdfs pipes -map
hdfs pipes -partitioner
hdfs pipes -reduce
hdfs pipes -writer
hdfs pipes -program
hdfs pipes -reduces