Apache Hadoop是一个使用HDFS(Hadoop Distributed File System)分布式文件系统执行可靠的、规模化的分布式计算的开源项目,Hadoop是使用Java语言开发,其运行在Linux操作系统上集群规模最大支持几千个分布式节点,本文主要描述Hadoop单机版的安装部署。
如上所示,HDFS分布式文件系统的架构图,其中,Namenode节点主要提供数据文件索引服务,Datanode节点主要提供数据分片的存储服务,Namenode服务支持多节点的高可用性部署,Datanode支持大规模的分布式集群部署,数据分片实现备份复制的高可用性机制
如上所示,一个用户数据文件可分为多个数据块存储在多个Datanode中,每个数据块拥有一个ID标识,每个数据块以备份复制的方式存储在不同的Datanode中实现高可用性,part-0文件分为1、3的数据块,每个数据块复制2份,part-1文件分为2、4、5的数据块,每个数据块复制3份,读取part-0文件的时候分别读取1、3数据块合并成完整的文件,读取part-1文件的时候分别读取2、4、5数据块合并成完整的文件
如上所