HDFS:
- 是Hadoop中用于数据的分布式存储的组件
- 根据Google论文《The Google File System》来设计的
常用指令
指令 | 说明 |
---|---|
hadoop fs -put | 向HDFS上传文件 |
hadoop fs -mkdir | 在HDFS上创建了目录(实际上只是一个路径标记) |
hadoop fs -get | 下载 |
hadoop fs -rm | 删除文件 |
hadoop fs -rmdir | 删除目录 |
hadoop fs -rmr | 递归删除 |
hadoop fs -ls | 查看指定路径下的子文件和子目录 |
hadoop fs -lsr | 递归查看 |
hadoop fs -cat | 查看指定文件中的内容 |
hadoop fs -tail | 查看指定文件的最后1000个字节的内容 |
hadoop fs -mv | 剪切文件 |
hadoop fs -cp | 复制文件 |
hadoop fs -touchz | 创建一个空文件 |
hadoop fsck /test/txt/a.txt -files -blocks -locations -racks |
一、基本结构
- 在HDFS中,对于文件是进行切块保存
- HDFS中有2类主要的节点:NameNode和DataNode
- NameNode负责管理DataNode
- DataNode负责存储数据
- HDFS会对文件块进行自动的备份,每一个备份称之为复本(Replication),HDFS默认是3个复本
- 如果某一个DataNode宕机,那么在HDFS中默认将这个DataNode所存储的复本再进行一次备份,保证指定的复本数量
二、Block
- 在HDFS中,会对文件进行切块,每一个块实际上就是一个Block
- Block是HDFS中存储的基本单位
- Block在Hadoop1.0中的大小是64M,在Hadoop2.0中的大小是128M
- 如果一个文件或者数据的大小不满足Block的大小,那么这个文件或者数据是多大那么对应的Block就是多大
- 切块的意义:
a. 便于存储超大文件