Hadoop核心由HDFS和MapReduce组成,HDFS负责分布式存储,MapReduce负责分布式计算。
Hadoop框架整体架构
Hadoop整体架构如下图所示,NameNode(命名节点/管理节点)和DataNode(数据节点)构成了HDFS的主要框架,JobTracker和TaskTracker构成了MapReduce的主要框架。
HDFS
HDFS(Hadoop Distributed File System)是GFS的开源实现,是一个高度容错性的分布式文件系统,其特点如下:
- 能够运行在廉价机器上,硬件出错常态,需要具备高容错性
- 流式数据访问,而不是随机读写
- 面向大规模数据集,能够进行批处理、能够横向扩展
- 简单一致性模型,假定文件是一次写入、多次读取
HDFS也有一定的缺点:
- 不支持低延迟数据访问
- 不适合大量小文件存储(因为每条元数据占用空间是一定的)
- 不支持并发写入,一个文件只能有一个写入者
- 不支持文件随机修改,仅支持追加写入
HDFS的架构采用主从架构(master/slave),一个典型的HDFS集群包含一个NameNode节点和多个DataNode节点。NameNode节