Hadoop

本文涉及的产品
云原生大数据计算服务MaxCompute,500CU*H 100GB 3个月
简介: Hadoop组成

在Hadoop 1.x时代,Hadoop中的MapReduce同事处理业务逻辑运算和资源的调度,耦合性较大。

在Hadoop 2,.x时代,增加了Yarn。Yarn只负责资源的调度,MapReduce只负责运算。

Hadoop 3.x在组成上没有变化,,着重于性能的一些优化。
HDFS
HDFS(Hadoop Distributed File System),简称HDFS,是一个分布式文件系统。
HDFS的组成:
NameNode(简称 NN ):
存储文件的元数据,如文件名、文件目录结构、文件属性(生成时间、副本数、文件权限),以及每个文件的块列表和块所在的DataNode等。
DataNode(简称 DN ):
在本地文件系统存储文件块数据,以及块数据的校验和。
Secondary NameNode(简称 2NN ):
每隔一段时间对NameNode元数据备份。
Hadoop 1.x时会使用2NN对NN进行备份。但是后来的Hadoop版本中,企业一般会将NN搭建成高可用集群(一台active的NN,一台standby的NN),而不再使用2NN。
YARN
YARN(Yet Another Resource Negotiator),简称YARN,另一种资源协调者,是Hadoop的资源管理器。
YARN架构图::
其中:
client客户端可以有多个
集群上可以运行多个ApplicationManager
每个NodeManager上可以有多个Container
YARN的组成:
ResourceManager(简称 RM ):
整个集群资源(内存、CPU等)的管理者
NodeManager(简称 NM ):
管理单个节点服务器的CPU、内存等
ApplicationMaster(简称 AM ):
管理单个任务运行
Container:
容器,相当于一台独立的服务器,里面封装了任务运行所需要的资源,如内存、CPU、磁盘、网络等
MapReduce
MapReduce将计算过程分为两个阶段:Map和Reduce。
Map阶段并行处理输入数据
Reduce阶段对map结果进行汇总
结构图:
三者调用关系
整体调用结构图:
大数据技术生态体系:
包括数据的收集传递、存储、资源的管理、计算、任务调度、业务应用等层次。
整体架构图:
其中:
Sqoop:是一款开源的工具,主要用于在Hadoop、Hive与传统数据库(Mysql、Oracle)之间进行数据的传递,可以将一个关系型数据库中的数据导进HDFS中,也可以将HDFS的数据导入关系型数据库中
Flume:是一个高可用的、高可靠的、分布式的海量日志采集、聚合和传输的系统,Flume支持在日志系统中定制各类数据发送方,用于收集数据
Kafka:是一种高吞吐量的分布式发布订阅消息系统
Spark:是当前最流行的开源大数据内存计算框架,可以基于Hadoop上存储的大数据进行计算
Flink:是当前最流行的开源大数据内存计算框架,用于实时计算的场景比较多
Oozie:是一个管理Hadoop作业(job)的工作流程调度管理系统
HBase:是一个分布式的、面向列的开源数据库。HBase不同于一般的关系数据库,它是一个适合于非结构化数据存储的数据库
Hive:是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供简单的SQL查询功能,可以将SQL语句转换为MapReduce任务进行执行。可以通过类似SQL语句来快速实现简单的MapReduce统计,不必开发专门的MapReduce应用,十分适合数据仓库的统计分析
ZooKeeper:是一个针对大型分布式系统的可靠协调系统,提供的功能包括:配置维护、名字服务、分布式同步、组服务等

相关实践学习
基于MaxCompute的热门话题分析
Apsara Clouder大数据专项技能认证配套课程:基于MaxCompute的热门话题分析
目录
相关文章
|
Java 应用服务中间件 Maven
SpringBoot 项目瘦身指南
SpringBoot 项目瘦身指南
310 0
|
存储 缓存 Java
《Gradle构建脚本的基本结构和语法》
《Gradle构建脚本的基本结构和语法》
277 0
|
前端开发 开发者 容器
CSS 自适应内容宽度的输入框
CSS 自适应内容宽度的输入框
CSS 自适应内容宽度的输入框
|
9月前
|
数据采集 存储 数据可视化
体育数据系统是怎么开发的
体育数据系统开发涵盖需求分析、数据采集、存储、处理与展示等环节。首先明确目标和用户群体,规划功能;接着设计数据采集方式和接口,确保实时数据获取。随后选择合适的数据库和技术进行数据存储与管理,并进行数据清洗、分析及挖掘。通过可视化工具和友好的用户界面展示数据,确保易于理解。最后,系统需经过部署、优化、测试并上线运行,保证稳定性和高性能。
|
算法 安全 5G
|
存储 数据可视化 数据挖掘
数据分析与可视化:Pandas与Matplotlib/Seaborn的完美结合
【4月更文挑战第16天】本文探讨了Python中的Pandas、Matplotlib和Seaborn如何协同进行数据分析与可视化。Pandas提供高效的数据结构DataFrame,便于数据处理和清洗;Matplotlib是基础绘图库,支持自定义图表;Seaborn则在Matplotlib基础上提供美观的统计图形。通过这三个库的无缝结合,数据分析师可以从数据处理直达可视化,提高效率并呈现更具吸引力的分析结果。掌握这些工具将助力深入理解数据并揭示其中的故事。
|
数据可视化 数据挖掘 Python
数据可视化不再难!Matplotlib带你轻松绘制精美图表,让数据分析焕发光彩!
【8月更文挑战第22天】今天分享如何用Python的Matplotlib库绘制多样图表。Matplotlib是数据可视化的强大工具,对数据分析至关重要。本文分六部分:首先介绍环境准备,包括安装和配置;随后通过四个案例演示折线图、柱状图、饼图及散点图的绘制方法;最后总结并鼓励大家进一步探索Matplotlib的丰富功能。跟着示例操作,你将学会基本图表的制作,提升数据展示技能。
236 0
|
JavaScript 索引 前端开发
9.【TypeScript 教程】接口(Interface)
9.【TypeScript 教程】接口(Interface)
209 4
|
算法
「AIGC」readLink实现url识别pdf、网页标题和内容
AIGC算法实现服务,通过Express接收URL,识别内容类型:HTML使用Cheerio解析,PDF用`pdf-parse`。自定义函数提取标题和内容。示例代码展示了如何处理HTTP响应,提取HTML的`<title>`及PDF文本,并提供错误处理。服务器运行在端口3000。
330 0
基于PSO粒子群优化的PID控制器参数整定算法matlab仿真
该文探讨了使用PSO(粒子群优化)算法优化PID控制器参数的方法。通过PSO迭代,不断调整PID控制器的Kp、Ki、Kd增益,以减小控制误差。文中提供了MATLAB2022a版本的核心代码,展示了参数优化过程及结果。系统仿真图像显示了参数随迭代优化的变化。PID控制器结合PSO算法能有效提升控制性能,适用于复杂系统的参数整定,未来研究可关注算法效率提升和应对不确定性。