hadoop的核心
- HDFS(Hadoop Distributed Filesystem)
- MapReduce
HDFS:主要是解决海量大数据的存储问题
这里的服务器A被称为NameNode:维护着文件系统内所有文件和目录的相关信息
服务器B、C、D被称为DataNode:用于存取数据块
HDFS可以运行在廉价的计算机上,存储海量的数据
数据块(block)
每个数据块儿默认大小事128M
机架(Rack)
用于存放部署Hadoop集群服务器(不同机架间的节点通过交换机通信)
机架感知:提高数据的安全性和可靠性(智能的添加备份)
元数据(Metadata)
- 维护HDFS文件系统中文件和目录的信息(文件名、目录名、父目录信息、文件大小、创建时间、修改时间等)
- 记录文件内容存储相关信息(文件分块情况、副本个数、每个副本所在的DataNode信息等)
- 用来记录HDFS中所有DataNode的信息,用于DataNode管理
HDFS的特点:
- 优点
- 高容错
- 流式数据访问(通过字节流访问)
- 支持超大文件(将文件切片为block)
- 高数据吞吐量(一次写入,多次读取)
- 使用廉价机器,成本低
- 缺点
- 高延迟(在备份的时候会消耗好多时间)
- 不适合小文件存取(不论DataNode服务器中文件大小,NameNode中元数据信息大小是一样的,如果文件太小,不划算)
- 不适合并发写入(数据一次写入后不允许修改,只允许追加)
HDFS的架构和原理:
主从架构(master/slaves)
HDFS存储架构
HDFS读写原理:
- HDFS写数据原理
- HDFS读数据原理