Hadoop 是一个能够对大量数据进行分布式处理的框架,主要解决海量数据的存储和分析计算问题。Hadoop 以一种高效、高可靠、高扩展、高容错的方式进行数据处理。主要包括三部分内容:HDFS,MapReduce,Yarn
HDFS 提供分布式数据存储,是一个高可靠、高扩展的分布式系统文件系统,可以支持大规模数据存储和并行处理。HDFS 对应着 namenode、datanode 和 secondary namenode。namenode 作为管理者,负责存储文件的元数据(如存放路径),datanode 作为工作者负责存储具体的数据。secondary namenode 作为辅助管理者,辅助 namenode 合并 fsimage 和 edit log 日志文件。
MapReduce 是海量数据分析计算框架,用于处理大规模数据集,它将数据集划分成小块,并且在集群中分布式地计算这些小块,最终生成全局结果。MapReduce 由 Map 和 Reduce 组成,Map 负责过滤、处理数据,Reduce 负责汇整 Map 处理完的数据并输出。
Yarn 是资源调度框架,用于调度作业并分配集群资源,它可以动态地分配资源,来满足用户不断增长的需求,并且支持多个作业同时运行。Yarn 对应着 ResourceManage 和 NodeManage,ResourceManage 是整个集群的资源管理者,NodeManage 是单个结点的资源管理者。