Hadoop(一)-HDFS
HDFS(Hadoop Distirbuted File System)hadoop分布式文件系统。 原博客地址:http://blog.csdn.net/u013963380/article/details/61616046
1.HDFS的设计理念
- 存储大文件:这里的大文件是指GB甚至TB级别的文件
- 高效的访问模式:一次写入,多次读取(流式数据访问)
- 运行在普通廉价的服务器上:能运行在普通的硬件上,即使硬件出现故障,也可以通过容错策略来保证数据的完整性 注:由于HDFS是为高数据吞吐量应用而设计的,必然以高延迟为代价所以不会将hdfs用于对数据访问要求低延迟的场景;hdfs的元数据存储在namenode的内存中,而namenode是单节点,小文件的数量大到一定的程度,namenode的内存就吃不消,所以也不可用来存储大量的小文件。
2.HDFS的基本概念
- Block:在HDFS中,大文件是被分割成多个block进行存储的,一般block的大小默认是64MB(2.0版本后是128MB也可以自己设置)。而每个block会在多个datanode上存储多份副本,默认是3份(一般和datanode的个数有关)。
- Namenode:存储元数据信息,管理数据块的映射;处理客户端的读写请求;配置副本策略;管理hdfs的名称空间等。
- SeconaryNamenode:Namenode的备份;当namenode节点死亡,迅速启动接替namenode的工作;合并fsimage和edits log与namenode保持一致。
- Datanode:负责存储client发来的数据块block;执行数据块的读写操作。
- fsimage:元数据的镜像文件。
- edits:元数据的操作日志
