Hadoop是由apache基金会开发的,用于解决大数据存储与分析的分布式系统基础框架。其有两大核心:HDFS与MapReduce。
1. HDFS
HDFS(Hadoop Distributed File System)是可扩展、容错、高性能的分布式文件系统,异步复制,一次写入多次读取,主要负责存储。对于外部客户端来说,HDFS与Linux文件系统类似,像一个传统的分级文件系统。
在HDFS中,名称节点(NameNode)负责管理文件系统的空间和控制外部客户机的访问。数据节点(DataNode)负责存储数据,文件在HDFS中被分成块(通常为128MB),存储在数据节点中。每一个数据块一般会保留三份,一份存在本地,一份存在同一机架的不同节点上,一份存在不同机架的某个节点上。名称节点会通过每个数据节点的定期心跳(heartbeat)消息验证各个数据节点的数据,若数据节点的数据缺失,会通过备份加以修复,以此保证数据的完整性。