官网介绍:
http://hadoop.apache.org/docs/r2.8.0/hadoop-project-dist/hadoop-hdfs/HdfsDesign.html
机架、交换机、节点
- Hadoop分布式文件系统
- 按需定制MapReduce
- 目标在于多次的文件流读取
- 写入成本很高
- 高度数据冗余(副本,默认3)
- 每个节点不需要RAID-独立磁盘冗余阵列,redundant array of independent disks
- Blocksize较大(128m)
- 定制节点的位置感知
hdfs.replication:副本的个数,默认为3
RAID-独立磁盘冗余阵列,redundant array of independent disks
RAID-0:两块硬盘,每个硬盘存放数据的一部分,安全性不高,当某块硬盘坏时导致数据不可用。
RAID-1:两块硬盘,B硬盘是A硬盘的实时镜像,安全性高,但冗余也大。
RAID-5:三块硬盘,兼具 0 和 1 的特点,两块硬盘打散存储数据,另一块硬盘用于校验。
RAID-10:四块硬盘,两块用于RAID-0,两块用于RAID-1。
NameNode
1.存储文件元数据,比如目录结构
2.运行NameNode的服务器至关重要,只有1个,可考虑用RAID存储
3.只对元数据的增删做日志记录,不对block和文件流做记录。
4.DataNode故障时,负责创建更多的副本block
Blocksize,节点块的大小,1.X版本64M,2.X版本128M
DataNode
1.存储真实数据
2.可运行在多种文件系统上(ext3/4,NTFS …)
3.通知NameNode自己有哪些block
4.NameNode在同一机架创建放置一个副本,另一机架放置2个副本