一、hdfs概念及特性
概念
hdfs是一个分布式的文件存储系统,用于存储文件,通过统一的命名空间-目录树来定位文件
重要特性
- hdfs中的文件在物理上是分块存储(block),块的大小可通过参数进行配置(dfs.blocksize)来规定,hadoop2.x默认大小是128M,老版本是64M
- hdfs文件系统给客户端提供一个统一的抽象目录树,客户端通过路径访问文件,如:hdfs://namenode:port/dir/filename
- hdfs是设计成适应一次写入,多次读取的场景,且不支持文件修改
二、hdfs的shell命令操作
date -s 集群内时间同步
| 查看hadoop版本 | hadoop version |
|---|---|
| 查看跟目录 | hadoop fs -ls / |
| 创建文件夹 | hadoop fs -mkdir /a |
| 创建多级文件夹 | hadoop fs -mkdir -p /a/b |
| 从本地剪切到hdfs | hadoop fs -moveFromLocal /home/a.txt /a/b |
| 从hdfs剪切到本地 | hadoop fs -moveToLocal /a/b/a.txt /home |
| 从本地拷贝到hdfs | hadoop fs copyFromLocal /home/a.txt /a |
| 从hdfs拷贝至本地 | hadoop fs copyToLocal /a/a.txt /home |
| 追加一个文件到已经存在文件的末尾 | hadoop fs -appendToFile ./hello.txt /hello.txt |
| 显示文件内容 | hadoop fs -cat /hello.txt |
| 显示一个文件的末尾 | hadoop fs -tail /log/a.log |
| 已字符形式打印一个文件内容 | hadoop fs -text /log/a.log |
| 权限操作 | hadoop fs -chmod 666 /hello.txt (-chgrp -chown) |
| 从hdfs的一个路径拷贝到另一个路径 | hadoop fs -cp /a/a.txt /a/b/a.txt |
| 从hdfs的一个路径移动到另一个路径 | hadoop fs -mv /a/a.txt /a/b |
| 从hdfs下载文件到本地 | hadoop fs -get (等同于copyToLocal) |
| 上传文件到hdfs | hadoop fs -put(等同于copyFromLocal) |
| 删除文件或文件夹 | hadoop fs -rm -r |
| 删除空目录 | hadoop fs -rmdir /a/b |
| 统计文件夹的大小信息 | hadoop fs -du -s -h /a/* |
| 统计一个指定目录下的文件节点数量 | hadoop fs -count /a/ |
| 设置hdfs文件副本数量 | hadoop fs -setrep 3 /a/a.txt |
| 查看hdfs集群工作的状态 | hdfs dfsadmin -report |
