《R与Hadoop大数据分析实战》一1.6 HDFS和MapReduce架构

简介:

本节书摘来自华章出版社《R与Hadoop大数据分析实战》一书中的第1章,第1.6节,作者 (印)Vignesh Prajapati,更多章节内容可以访问云栖社区“华章计算机”公众号查看

1.6 HDFS和MapReduce架构

由于HDFS和MapReduce是Hadoop框架的两个主要特征,我们将专注于它们。先从HDFS开始。

1.6.1 HDFS架构

HDFS是主从架构。主HDFS命名为名称节点(NameNode),而从HDFS命名为数据节点(DataNode)。名称节点是一个管理文件系统命名空间和调整客户端文件访问(开启、关闭、重命名及其他操作)的服务器。它将输入数据分块并且公布存储在各个数据节点上的数据。数据节点是一个从装置,它存储分区数据集的副本并且收到请求时提供数据。它还进行块的创建和删除。
HDFS的内部机理可将文件划分为一个或多个块,这些块储存在一系列数据节点中。在一般情况下,需备份3个复件,HDFS将第一个复件保存在本地节点中,第二个保存在本地另一个节点的磁道中,第3个复件保存在其他节点的磁道中。HDFS支持大文件,它的块容量为64MB,根据需求,可以进行扩充。
HDFS组件
HDFS使用主从架构进行管理,包括以下组件:
名称节点(NameNode):这是HDFS的主干。它维护目录、文件以及管理在数据节点上的块。
数据节点(DataNode):这些是被部署在每台机器上并且提供实际存储的从动装置。它们负责为客户提供读写数据的服务。
代理主节点(Secondary NameNode):它负责周期性检查中断点,如果主节点突然中断,可由储存在代理主节点中的中断点镜像来代替。

1.6.2 MapReduce架构

MapReduce也采用主从架构,典型的MapReduce 包含作业提交、作业的初始化、任务分配、任务执行、进度和状态更新,以及作业完成相关的活动,这主要是由JobTracker节点管理和TaskTracker节点执行。客户端应用程序提交作业给JobTracker,然后在整个集群中划分输入,JobTracker再计算要处理的Map和Reduce执行单元的数量,并命令TaskTracker开始执行该作业。TaskTracker必须复制资源到本地计算机,并启动JVM对数据进行Map和Reduce操作。与此同时,TaskTracker必须周期性地发送更新信息给JobTracker,这称为心跳(heartbeat),用于帮助更新作业ID、作业状态和资源使用情况。
MapReduce组件
MapReduce是由包含以下几部分的主从架构管理的:
JobTracker:它是MapReduce系统的主机节点,管理着集群中的作业及资源。JobTracker规划好每个Map,使TaskTracker中实际正在被处理的数据同Map尽量接近,正运行该数据节点的TaskTracker作业优先执行。
TaskTracker:这些都是部署在每台机器上的客户机节点。它们负责由JobTracker分配的Map和Reduce作业。

1.6.3 通过图示了解HDFS和MapReduce架构

在下图中,NameNode和DataNode在HDFS上,JobTracker和TaskTracker在MapReduce范式中,HDFS和MapReduce主服务器和从服务器部件也包括其中。
本图包含了HDFS和MapReduce的主从组件,其中名称节点和数据节点来自HDFS,JobTracker和TaskTracker来自MapReduce。
两个示例都是由主从组件构成的,在控制MapReduce和HDFS的操作中各有分工。在该图中包括两个部分:前一个是MapReduce层,后一个是HDFS层。

image

Hadoop是一个Apache的顶级项目,也是一个非常复杂的Java框架。为避免技术上的复杂性,Hadoop社区中已开发了许多Java框架,丰富了其额外的功能,本书中将它们视为Hadoop的子项目。在这里,我们将分别讨论Hadoop的组件,它们是HDFS或MapReduce的抽象层。

相关文章
|
1月前
|
大数据
【赵渝强老师】大数据主从架构的单点故障
大数据体系架构中,核心组件采用主从架构,存在单点故障问题。为提高系统可用性,需实现高可用(HA)架构,通常借助ZooKeeper来实现。ZooKeeper提供配置维护、分布式同步等功能,确保集群稳定运行。下图展示了基于ZooKeeper的HDFS HA架构。
|
2月前
|
SQL 存储 分布式计算
ODPS技术架构深度剖析与实战指南——从零开始掌握阿里巴巴大数据处理平台的核心要义与应用技巧
【10月更文挑战第9天】ODPS是阿里巴巴推出的大数据处理平台,支持海量数据的存储与计算,适用于数据仓库、数据挖掘等场景。其核心组件涵盖数据存储、计算引擎、任务调度、资源管理和用户界面,确保数据处理的稳定、安全与高效。通过创建项目、上传数据、编写SQL或MapReduce程序,用户可轻松完成复杂的数据处理任务。示例展示了如何使用ODPS SQL查询每个用户的最早登录时间。
165 1
|
2月前
|
存储 分布式计算 大数据
大数据-169 Elasticsearch 索引使用 与 架构概念 增删改查
大数据-169 Elasticsearch 索引使用 与 架构概念 增删改查
70 3
|
5天前
|
存储 SQL 分布式计算
大数据时代的引擎:大数据架构随记
大数据架构通常分为四层:数据采集层、数据存储层、数据计算层和数据应用层。数据采集层负责从各种源采集、清洗和转换数据,常用技术包括Flume、Sqoop和Logstash+Filebeat。数据存储层管理数据的持久性和组织,常用技术有Hadoop HDFS、HBase和Elasticsearch。数据计算层处理大规模数据集,支持离线和在线计算,如Spark SQL、Flink等。数据应用层将结果可视化或提供给第三方应用,常用工具为Tableau、Zeppelin和Superset。
71 8
|
6天前
|
弹性计算 Java 数据库
Web应用上云经典架构实战
本课程详细介绍了Web应用上云的经典架构实战,涵盖前期准备、配置ALB、创建服务器组和监听、验证ECS公网能力、环境配置(JDK、Maven、Node、Git)、下载并运行若依框架、操作第二台ECS以及验证高可用性。通过具体步骤和命令,帮助学员快速掌握云上部署的全流程。
|
1月前
|
SQL 数据采集 分布式计算
【赵渝强老师】基于大数据组件的平台架构
本文介绍了大数据平台的总体架构及各层的功能。大数据平台架构分为五层:数据源层、数据采集层、大数据平台层、数据仓库层和应用层。其中,大数据平台层为核心,负责数据的存储和计算,支持离线和实时数据处理。数据仓库层则基于大数据平台构建数据模型,应用层则利用这些模型实现具体的应用场景。文中还提供了Lambda和Kappa架构的视频讲解。
180 3
【赵渝强老师】基于大数据组件的平台架构
|
5天前
|
存储 负载均衡 监控
揭秘 Elasticsearch 集群架构,解锁大数据处理神器
Elasticsearch 是一个强大的分布式搜索和分析引擎,广泛应用于大数据处理、实时搜索和分析。本文深入探讨了 Elasticsearch 集群的架构和特性,包括高可用性和负载均衡,以及主节点、数据节点、协调节点和 Ingest 节点的角色和功能。
16 0
|
1月前
|
消息中间件 Java Kafka
实时数仓Kappa架构:从入门到实战
【11月更文挑战第24天】随着大数据技术的不断发展,企业对实时数据处理和分析的需求日益增长。实时数仓(Real-Time Data Warehouse, RTDW)应运而生,其中Kappa架构作为一种简化的数据处理架构,通过统一的流处理框架,解决了传统Lambda架构中批处理和实时处理的复杂性。本文将深入探讨Kappa架构的历史背景、业务场景、功能点、优缺点、解决的问题以及底层原理,并详细介绍如何使用Java语言快速搭建一套实时数仓。
168 4
|
1月前
|
运维 NoSQL Java
后端架构演进:微服务架构的优缺点与实战案例分析
【10月更文挑战第28天】本文探讨了微服务架构与单体架构的优缺点,并通过实战案例分析了微服务架构在实际应用中的表现。微服务架构具有高内聚、低耦合、独立部署等优势,但也面临分布式系统的复杂性和较高的运维成本。通过某电商平台的实际案例,展示了微服务架构在提升系统性能和团队协作效率方面的显著效果,同时也指出了其带来的挑战。
85 4
|
2月前
|
SQL 存储 分布式计算
大数据-157 Apache Kylin 背景 历程 特点 场景 架构 组件 详解
大数据-157 Apache Kylin 背景 历程 特点 场景 架构 组件 详解
43 9

热门文章

最新文章