1 hdfs文件系统命令
1.1 文件路径增删改查系列:
命令 | 功能 |
hdfs dfs -mkdir dir | 创建文件夹 |
hdfs dfs -rmr dir | 删除文件夹dir |
hdfs dfs -ls | 查看目录文件信息 |
hdfs dfs -lsr | 递归查看文件目录信息 |
hdfs dfs -stat path | 返回指定路径的信息 |
1.2 空间大小查看系列命令:
命令 | 功能 |
hdfs dfs -du -h dir | 按照适合阅读的形式人性化显示文件大小 |
hdfs dfs -dus uri | 递归显示目标文件的大小 |
hdfs dfs -du path/file | 显示目标文件file的大小 |
1.3 权限管理类:
命令 | 功能 |
hdfs dfs -chgrp group path | 改变文件所属组 |
hdfs dfs -chgrp -R /dir | 递归更改dir目录的所属组 |
hdfs dfs -chmod [-R] 权限 -path | 改变文件的权限 |
hdfs dfs -chown owner[-group] /dir | 改变文件的所有者 |
hdfs dfs -chown -R owner[-group] /dir | 递归更改dir目录的所属用户 |
1.4 文件操作(上传下载复制)系列:
命令 | 功能 |
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目录, 可用于回收站恢复文件 |
1.5 判断系列:
命令 | 功能 |
hdfs fs -test -e /dir/a.txt | 判断文件是否存在,正0负1 |
hdfs fs -test -d /dir | 判断dir是否为目录,正0负1 |
hdfs fs -test -z /dir/a.txt | 判断文件是否为空,正0负1 |
1.6 系统功能管理类:
命令 | 功能 |
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 host:port | 打印运行在host:port的守护进程的日志级别 |
hdfs daemonlog -setlevel host:port | 设置运行在host:port的守护进程的日志级别 |
hdfs dfs -setrep -w 副本数 -R path | 设置文件的副本数 |
2 运维命令
命令 | 功能 |
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指定 |
3 mapreduce命令
命令 | 功能 |
hdfs jar file.jar | 执行jar包程序 |
hdfs job -kill job_201005310937_0053 | 杀死正在执行的jar包程序 |
hdfs job -submit | 提交作业 |
hdfs job -status | 打印map和reduce完成百分比和所有计数器。 |
hdfs job -counter | 打印计数器的值。 |
hdfs job -kill | 杀死指定作业。 |
hdfs job -events <from-event-#> <#-of-events> | 打印给定范围内jobtracker接收到的事件细节。 |
hdfs job -history | 打印作业的细节、失败及被杀死原因的细节。 更多的关于一个作业的细节比如成功的任务, 做过的任务尝试等信息可以通过指定[all]选项查看 |
hdfs job -list [all] | 显示所有作业。-list只显示将要完成的作业。 |
hdfs job -kill -task | 杀死任务。被杀死的任务不会不利于失败尝试。 |
hdfs job -fail -task | 使任务失败。被失败的任务会对失败尝试不利。 |
4 hdfs系统检查工具fsck
命令 | 功能 |
hdfs fsck -move | 移动受损文件到/lost+found |
hdfs fsck -delete | 删除受损文件。 |
hdfs fsck -openforwrite | 打印出写打开的文件。 |
hdfs fsck -files | 打印出正被检查的文件。 |
hdfs fsck -blocks | 打印出块信息报告。 |
hdfs fsck -locations | 打印出每个块的位置信息。 |
hdfs fsck -racks | 打印出data-node的网络拓扑结构。 |
5 运行pipies作业
hdfs pipes -conf 作业的配置
hdfs pipes -jobconf <key=value>, <key=value>, … 增加/覆盖作业的配置项
hdfs pipes -input 输入目录
hdfs pipes -output 输出目录
hdfs pipes -jar Jar文件名
hdfs pipes -inputformat InputFormat类
hdfs pipes -map Java Map类
hdfs pipes -partitioner Java Partitioner
hdfs pipes -reduce Java Reduce类
hdfs pipes -writer Java RecordWriter
hdfs pipes -program 可执行程序的URI
hdfs pipes -reduces reduce个数