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个数