HDFS shell 命令
1、HDFS Shell 命令分类
1.1文件系统操作命令(hdfs dfs)
解决文件的添加、删除、查看、移动等操作问题
1.2文件系统管理命令(hdfs dfsadmin)
解决数据节点详情查看、文件目录配额、安全模式等管理操作问题
2、hdfs dfs 常用命令
hdfs dfs 与 hadoop fs 对等,只是一个先后推荐使用的区别,目前推荐使用 hdfs dfs。
hdfs 提供了类似 shell 命令的方式,可以像操作本地系统文件一样来操作 hdfs 文件,常用的命令如下:
2.1、查看所有命令
查看 hdfs dfs 下的所有可用命令:
hdfs dfs
2.2、查看某目录下文件列表
查看 hdfs 根目录下的文件列表:
hdfs dfs -ls /
2.3、查看某文本文件的内容
查看 hdfs 的某个文本文件:
hdfs dfs -cat /tmp/index.html
2.4、创建目录
在 hdfs 中创建/tmp/tmpdir目录:
hdfs dfs – mkdir /tmp/tmpdir【-p递归创建】
2.5、删除目录
删除/tmp/tmpdir目录:
hdfs dfs -rmr /tmp/tmpdir
2.6、从 hdfs 下载文件
将 hdfs 中的/tmp/index.html 文件下载到本地文件的当前路径下:
hdfs dfs -copyToLocal /tmp/index.html .
2.7、从 hdfs 下载文件
将 hdfs 中的/tmp/index.html 文件下载到本地文件的当前路径下:
/hdfs dfs -get /tmp/index.html .
2.8、从本地上传文件到 hdfs
从本地当前目录下,上传之前的 index.html 文件到 hdfs 的/tmp/tmpdir目录中:
hdfs dfs -copyFromLocal index.html /tmp/tmpdir
2.9、从本地上传文件到 hdfs
从本地当前目录下,上传之前的 index.html 文件到 hdfs 的/tmp/tmpdir目录中:
hdfs dfs -put index.html /tmp/tmpdir
2.10、-moveFromLocal 本地文件移动到hdfs
/hdfs dfs -moveFromLocal index.txt tmp/
(将本地的index.txt 复制到hdfs的/tmp/下)
2.11、-moveToLocal hdfs文件移动到本地
2.12查看压缩的文件内容
查看压缩文本文件的格式:
hdfs dfs -text /tmp/tmpdir/index.html.gz | more
2.13查看文件大小
查看 hdfs 中目录/tmp/tmpdir中文件占用磁盘大小: hdfs dfs -du -h /tmp/tmpdir
2.14、创建文件
在/tmp/tmpdir目录中创建空文件 file1.txt:
hdfs dfs -touchz /tmp/tmpdir/file1.txt
2.15、查看命令帮助信息
查看 hdfs dfs 中某个命令的用法,比如:cp:
hdfs dfs -usage cp
2.16、Linux命令df -h查看Linux本地系统的磁盘使用情况:
hdfs dfs -df -h /
2.17、-mv 移动多个文件目录到目标目录
hdfs dfs -mv /tmp/file1 /tmp/file2
3、hdfs dfsadmin
hdfs dfsadmin 是集群管理员的常用命令,用来对 HDFS 集群的整体运行进行管理和运维。常用的管理命令如下:
3.1查看可用的管理命令
查看管理命令的帮助信息:
hdfs dfsadmin -help
3.2报告文件系统信息
报告文件系统的基本信息和统计信息
hdfs dfsadmin -report
3.3设置目录配额
设置目录配额,目录配额是一个长整型数,限定指定目录下的名字个数:
hdfs dfsadmin -setQuota ……
比如:hdfs dfsadmin -setQuota 10 /tmp/tmpdir
3.4安全模式管理
当集群环境启动时,NameNode 会进入一个安全模式。此时不会出现数据块的写操作。NameNode 会收到各个 DataNode 拥有的数据块列表的数据块报告,由此 NameNode 获得所有的数据块信息。数据块达到最小副本数时,该数据块就被认为是安全的。
hdfs dfsadmin -safemode get ##返回安全模式是否开启的信息,返回 Safe mode is OFF/OPEN
hdfs dfsadmin -safemode enter ##进入安全模式
hdfs dfsadmin -safemode leave ##强制 NameNode 退出安全模式
hdfs dfsadmin -safemode wait ##等待,一直到安全模式结束