2026/1/1 20:15:43
网站建设
项目流程
设计一个网站的优势,导购网站怎么建,哪些行业适合做seo,我的网站不做推广 百度能搜索到我网站吗Hadoop的核心组件可以概括为“两大基础”和一个“核心大脑”#xff0c;它们共同构成了分布式数据处理的基石。核心一#xff1a;HDFS (Hadoop Distributed File System) - 分布式存储
作用#xff1a;负责存储。它是一个高可靠、高扩展性的分布式文件系统#xff0c;能将超…Hadoop的核心组件可以概括为“两大基础”和一个“核心大脑”它们共同构成了分布式数据处理的基石。核心一HDFS (Hadoop Distributed File System) - 分布式存储作用负责存储。它是一个高可靠、高扩展性的分布式文件系统能将超大规模数据集TB/PB级拆分成多个数据块并分散存储在集群的多个普通服务器上。关键特点与机制分块存储默认将大文件切分为128MB或256MB的固定大小数据块。多副本冗余每个数据块会自动创建多个副本默认3个存储在不同机器上防止硬件故障导致数据丢失。主从架构NameNode主节点存储文件的元数据如文件名、目录结构、数据块位置等是HDFS的“目录管理员”。DataNode从节点在本地磁盘上实际存储数据块并定期向NameNode报告状态。举例说明假设你有一个大小为520MB的日志文件website_logs.txt要存入HDFS假设块大小为128MB。分块HDFS会将其自动切分成5个块Block-1(128MB),Block-2(128MB),Block-3(128MB),Block-4(128MB),Block-5(8MB)。存储与备份这5个块会被分发到集群中不同的DataNode上。比如Block-1会存储在DataNode-A、DataNode-C、DataNode-F上共3个副本。管理NameNode会记录下website_logs.txt由这5个块组成以及每个块的所有副本存放在哪些DataNode上。当客户端需要读取文件时只需询问NameNode即可找到最近的副本位置。核心二MapReduce - 分布式计算模型编程框架作用负责计算。它是一种编程模型用于对海量数据进行并行处理和计算。其思想是“分而治之”将复杂的计算任务分解成两个阶段Map和Reduce并在多个节点上并行执行。工作原理Map映射阶段多个Mapper任务并行工作读取HDFS上的数据块对每条数据进行初步处理输出一系列中间键值对(key, value)。Shuffle Sort洗牌与排序系统自动将Map阶段输出的、具有相同key的所有value集中到一起发送给同一个Reducer。Reduce归约阶段多个Reducer任务并行工作接收属于自己的一组键值对进行汇总、计算等最终处理并将结果写回HDFS。举例说明统计一个超大文本文档中每个单词出现的次数。输入HDFS上的文档被分成多个块。Map阶段每个Mapper读取一个数据块。逐行处理将每行文本拆分成单词。对每个单词输出中间键值对(单词, 1)。例如(Hello, 1),(World, 1),(Hello, 1)。Shuffle阶段系统将所有相同的单词“洗牌”到一起。例如所有(Hello, 1)的键值对被送到同一个Reducer。Reduce阶段每个Reducer处理一个或一组单词。接收(Hello, [1, 1, 1, ...])这样的输入。将列表中的1相加得到最终计数。输出最终键值对(Hello, 3)到HDFS。核心三YARN (Yet Another Resource Negotiator) - 资源管理和调度系统作用负责集群资源管理和任务调度。它是Hadoop 2.0引入的“核心大脑”将资源管理和作业调度/监控的功能从MapReduce中分离出来使Hadoop不再局限于MapReduce一种计算框架可以支持Spark、Flink等多种计算引擎。核心组件与流程ResourceManager (RM)集群的“总指挥官”负责整个系统的资源CPU、内存管理和分配。NodeManager (NM)每个节点上的“工头”负责启动并监控本节点的容器Container即资源单元并向RM汇报。ApplicationMaster (AM)每个具体应用如一个MapReduce作业的“项目经理”。它向RM申请资源并与NM协作来执行和监控具体的任务如Map Task或Reduce Task。举例说明当上面提到的“单词统计”MapReduce作业提交到YARN集群时客户端提交作业到ResourceManager。ResourceManager在一个空闲的NodeManager上为这个作业分配一个容器并启动ApplicationMaster即这个MapReduce作业的专属管理者。ApplicationMaster向ResourceManager申请运行Map任务和Reduce任务所需的资源。ResourceManager根据集群情况在各个NodeManager上分配容器。ApplicationMaster指示对应的NodeManager在分配到的容器中启动具体的Map任务或Reduce任务。ApplicationMaster监控所有任务的执行状态并在任务失败时申请新资源重试。所有任务完成后ApplicationMaster向ResourceManager注销并告知客户端作业完成。总结与关系核心组件核心作用比喻在单词统计例子中的角色HDFS存储分布式仓库存储待处理的超大文档以及处理后的结果文件。MapReduce计算逻辑车间流水线说明书定义了如何“分块统计单词”并“合并结果”的算法和步骤。YARN资源调度工厂厂长和调度中心协调集群的CPU和内存确保Mapper和Reducer任务能获得资源并高效执行。三者协作流程数据首先存储在HDFS上 - 用户提交一个MapReduce程序 -YARN调度集群资源来执行这个MapReduce程序 - 程序从HDFS读取数据进行计算 - 最终结果写回HDFS。这种架构使得Hadoop能够以可靠、可扩展的方式处理PB级别的数据。