【Hadoop】建立圈内组件的宏观认识
- 01存储
- 02计算
- 03调度
- 04其他
- 05回忆

众多组件们构建了大规模分布式计算和存储平台。本文介绍Hadoop生态圈中各个组件的主要功能和作用,辅助学者理解每个组件的定位和用途,从而建立对圈内组件的宏观认识。梳理清楚HDFS、MapReduce、YARN、Hive、HBase、Spark、pig、Sqoop、Oozie、Ambari、Flume、tez、Mahout、Zookeeper、Altas、Hue、Range、kylin等核心组件在大数据处理和分析中的角色定位。多说不唠,进入正题…
01存储
- HDFS (Hadoop Distributed File System)
- 角色:Hadoop体系的核心组件之一,是一个分布式文件系统。
- 主要功能:
- 大规模数据存储:能够存储超大文件(TB级别)。
- 高容错性:通过数据复制确保数据的可靠性。
- 高吞吐量:优化大数据集的访问,适合批处理。
- 架构:
- NameNode:管理文件系统的命名空间和客户端对文件的访问。
- DataNode:存储实际的数据块。
- 特点:
- 适合写一次,读多次的场景。
- 不适合低延迟数据访问和大量小文件存储。
- HBase
- 角色:分布式、可扩展的面向列的NoSQL数据库。
- 主要功能:
- 实时读写:提供对大规模数据的随机、实时读写访问。
- 存储结构化和半结构化数据。
- 支持线性和模块化扩展。
- 架构:
- HMaster:管理和分配region,处理元数据操作。
- RegionServer:负责服务和管理regions。
- Zookeeper:协调分布式操作。
- 特点:
- 基于HDFS存储,利用HDFS的容错能力。
- 适合需要随机、实时读写访问的大数据场景。
- 支持高并发,可以处理大量的读写请求。
02计算
- MapReduce
- 角色:Hadoop的核心计算框架
- 功能:用于并行处理大规模数据集的分布式计算模型
- 特点:
- 将复杂问题分解为可并行计算的简单任务
- 高容错性,能够处理节点故障
- 适合批处理作业
- Hive
- 角色:数据仓库工具
- 功能:提供类SQL查询语言(HiveQL)来分析存储在Hadoop中的大规模数据
- 特点:
- 将SQL查询转换为MapReduce作业
- 适合复杂的批量数据处理
- 提供了丰富的内置函数和自定义函数能力
- Spark
- 角色:快速通用的集群计算系统
- 功能:提供内存计算功能,用于大规模数据处理
- 特点:
- 支持多种编程语言(Scala, Java, Python, R)
- 包含多个库,如Spark SQL, MLlib, GraphX, Spark Streaming
- 比MapReduce快很多,特别是对于迭代算法
- Kylin
- 角色:开源的分布式分析引擎
- 功能:提供Hadoop/Spark之上的SQL接口及多维分析(OLAP)能力
- 特点:
- 极速OLAP引擎
- 支持超大规模数据集
- 与现有BI工具无缝集成
- Impala
- 角色:开源的分布式SQL查询引擎
- 功能:为存储在Hadoop的数据提供低延迟和高并发的SQL查询
- 特点:
- 比Hive快得多,接近传统数据库的查询速度
- 支持HDFS和HBase作为存储系统
- 与Hive的元数据、SQL语法和用户界面兼容
- Flink
- 角色:分布式大数据处理引擎
- 功能:提供数据流和批数据处理能力
- 特点:
- 真正的流处理,支持事件时间和处理时间
- exactly-once语义
- 低延迟,高吞吐量
- 支持迭代处理和增量迭代
03调度
- YARN (Yet Another Resource Negotiator)
- 角色:Hadoop的资源管理系统
- 功能:
- 管理集群资源并调度任务
- 允许多种数据处理引擎在Hadoop上运行
- 特点:
- 将资源管理和作业调度/监控分离
- 支持多种应用程序,不仅限于MapReduce
- 提高集群利用率和可扩展性
- Oozie
- 角色:工作流调度系统
- 功能:
- 管理和协调Hadoop作业
- 定义、执行和监控复杂的数据管道
- 特点:
- 支持多种Hadoop作业类型(MapReduce, Pig, Hive等)
- 可以通过XML定义工作流
- 提供基于时间和数据的作业触发机制
- Zookeeper
- 角色:分布式协调服务
- 功能:
- 为分布式应用提供同步、配置管理、分组和命名服务
- 维护分布式系统的一致性
- 特点:
- 高性能、高可用性
- 提供简单的接口
- 被广泛用于Hadoop生态系统中,如HBase
- Dolphin Scheduler (Apache DolphinScheduler)
- 角色:分布式和可扩展的工作流调度平台
- 功能:
- 可视化DAG工作流定义
- 工作流的调度、执行和监控
- 特点:
- 支持多种任务类型(Shell, SQL, Python等)
- 提供强大的任务依赖管理
- 具有容错和失败恢复机制
- 提供友好的用户界面,易于操作和监控
- 支持多租户
04其他
- Pig
- 角色:高级数据流语言和执行框架
- 功能:简化MapReduce操作的创建和执行
- 特点:
- 使用Pig Latin语言,类似于SQL但更适合数据流
- 可以处理结构化和非结构化数据
- 适合数据转换和ETL过程
- Sqoop
- 角色:数据传输工具
- 功能:在Hadoop和结构化数据存储(如关系数据库)之间传输数据
- 特点:
- 支持增量导入
- 可以将导入的数据直接存为Hive表
- 支持多种数据库系统
- Flume
- 角色:分布式日志收集系统
- 功能:收集、聚合和移动大量日志数据
- 特点:
- 灵活的架构基于流式数据流
- 可靠性机制和故障恢复
- 可定制性强,支持多种数据源和目标
- Ambari
- 角色:Hadoop集群管理工具
- 功能:简化Hadoop的安装、管理和监控
- 特点:
- 提供直观的Web UI
- 支持多种Hadoop组件的配置和管理
- 提供集群健康检查和告警功能
- Tez
- 角色:数据处理框架
- 功能:加速Hadoop上的数据处理应用
- 特点:
- 比MapReduce更快,特别是对于复杂的数据处理任务
- 被Hive和Pig等工具用作执行引擎
- 支持复杂的DAG(有向无环图)作业
- Atlas
- 角色:元数据管理和治理平台
- 功能:为Hadoop生态系统提供元数据管理和数据治理能力
- 特点:
- 提供数据分类和血缘关系追踪
- 支持复杂的元数据搜索
- 提供安全和策略引擎
- Hue
- 角色:Hadoop用户界面
- 功能:提供Web界面来与Hadoop交互
- 特点:
- 支持多种Hadoop组件,如HDFS、Hive、HBase等
- 提供查询编辑器、文件浏览器等工具
- 用户友好,易于使用
- Ranger
- 角色:安全管理框架
- 功能:为Hadoop集群提供全面的安全管理
- 特点:
- 集中化的安全管理
- 细粒度的访问控制
- 支持审计和数据屏蔽
05回忆
相关文章:

【Hadoop】建立圈内组件的宏观认识
01存储02计算03调度04其他05回忆 众多组件们构建了大规模分布式计算和存储平台。本文介绍Hadoop生态圈中各个组件的主要功能和作用,辅助学者理解每个组件的定位和用途,从而建立对圈内组件的宏观认识。梳理清楚HDFS、MapReduce、YARN、Hive、HBase、Spark…...

C++:命名空间与输入输出
目录 前言 一、命名空间 1.1 namespace的价值 1.2 namespace的定义 1.3 命名空间的使用 二、C输入&输出 前言 C是一种面向对象的计算机程序设计语言,它扩展了C语言的功能,并引入了面向对象编程的概念,如类、继承和多态等&a…...

Azure DevOps Server 数据库日志已满,TF30042: The database is full
Contents 1. 问题描述2. 处理方式 2.1 系统备份2.2 收缩日志2.3 恢复模式2.4 日志增长无法控制 1. 问题描述 Azure DevOps Server 作为微软的软件开发管理平台产品,理所当然地使用了微软的数据库软件SQL Server。 在一个大型的开发团队中,Azure DevOps S…...
[C#]OpenCvSharp 实现Bitmap和Mat的格式相互转换
//转为 bitmap方法一: Bitmap map OpenCvSharp.Extensions.BitmapConverter.ToBitmap(mat); process_pictureBox.Image map; //转为 bitmap方法二: Bitmap map new Bitmap(mat.ToMemoryStream()); process_pictureBox.Image map; //Image img 转为…...
【区块链+金融服务】基于区块链的供应链金融系统 | FISCO BCOS应用案例
传统供应链金融存在着信息不对称、信任问题和繁琐流程等弊端。为了解决这些问题,京北方搭建了基于区块链 的供应链金融系统,提供了更高效、透明、安全和可信的交易环境。 系 统 采 用 FISCO BCOS 为 底 层 链, 技 术 栈 使 用 Java 语 言 进…...

AI语言大模型商业价值深度解析
点击蓝字 关注我 随着人工智能(AI)技术的飞速发展,特别是深度学习算法的进步,AI语言大模型在自然语言处理领域的表现日益突出。国内外多种语言大模型如:OpenAi 的 ChatGpt,阿里通义千问,百度文心…...
理解DDD领域驱动设计思想
一、引言 在软件开发的广袤领域中,领域驱动设计(Domain-Driven Design,简称 DDD)犹如一颗璀璨的明星,备受瞩目。对于期望运用 DDD 开展项目的研发人员而言,明晰 DDD 的本质是实现其有效应用的基石。需注意…...

音频剪辑软件哪个好用?五大音频剪辑软件分享
如果你正打算在家自学视频制作,那么恭喜你,你已经踏上了一段充满魔法与惊喜的旅程!不过,别忘了,视频的灵魂不仅仅在于画面,更在于那直击心灵的音效。 想象一下,一个精心剪辑的片段,…...

12.2 使用prometheus-sdk向pushgateway打点
本节重点介绍 : 使用golang sdk打prometheus4种指标,推送到pushgateway gauge、counter、histogram、summary的初始化4种类似的设置值的方法推送到pushgateway的方法 prometheus配置采集pushgateway,grafana上配大盘 golang-sdk 项目地址 https://git…...
HTTPS 详解
HTTPS 是以安全为目标的 HTTP 通道,它在 HTTP 中加入 SSL 层以提高数据传输的安全性。HTTP 被用于在 Web 浏览器和网站服务器之间传递信息,但以明文形式发送内容,不提供任何方式的数据加密,如果攻击者截取了 Web 浏览器和网站服务…...

Microsoft Edge 使用方法与秘诀概览
目录 编辑引言 Microsoft Edge 功能与技巧概览 掌握这些设置技巧,让 Edge 浏览器的体验更干净 1. 使用阅读视图 2. 开启广告过滤 3. 管理扩展 4. 个性化新标签页 5. 使用网页截图 6. 清理浏览器缓存 7. 管理启动设置 8. 自定义地址栏建议 9. 使用内置笔…...
【视频】onvif、RTP、RTCP、SDP、RTSP、gb21818区别
ONVIF (Open Network Video Interface Forum): ONVIF是一个全球性的开放网络视频接口论坛,致力于发展基于IP网络的物联网设备的标准化。它提供了一个通用的标准接口,使不同厂商生产的网络视频产品能够互相兼容。 RTP (Real-time Transport Protocol): R…...

8-4 循环神经网络
对于 (8.4.2)中的函数 f f f,隐变量模型不是近似值。 毕竟 h t h_{t} ht是可以仅仅存储到目前为止观察到的所有数据, 然而这样的操作可能会使计算和存储的代价都变得昂贵。 回想一下,我们在前面讨论过的具有隐藏单元的隐藏层。 值得注意的…...

Linux系统编程 --- 多线程
线程:是进程内的一个执行分支,线程的执行粒度,要比进程要细。 一、线程的概念 1、Linux中线程该如何理解 地址空间就是进程的资源窗口。 在一个程序里的一个执行路线就叫做线程(thread)。更准确的定义是࿱…...
Grafana中的rate与irate以及histogram
用法 rate rate函数用于计算一个时间序列在给定时间范围内的平均速率。它对每个数据点进行线性插值来计算速率,因此对于平滑和稳定的数据来说,rate是一个不错的选择。语法如下: rate(metric_name[time_range])metric_name: 指标名称。time…...
什么是网络安全态势感知
态势感知是一种基于环境的、动态、整体地洞悉安全风险的能力,是以安全大数据为基础,从全局视角提升对安全威胁的发现识别、理解分析、响应处置能力的一种方式、最终是为了决策与行动,是安全能力的落地 态势感知的重要性 随着网络与信息技术的…...

php 在app中唤起微信app进行支付,并处理回调通知
<?phpnamespace app\api\controller;use think\facade\Db; use think\facade\Log;class Wxzf {...

高效同步与处理:ADTF流服务在自动驾驶数采中的应用
目录 一、ADTF 流服务 1、流服务源(Streaming Source) 2、流服务汇(Streaming Sink) 二、数据链路 1、数据管道(Data Pipe) 2、子流(Substreams) 3、触发管道(Tri…...

【Arduino】ATmega328PB 连接 LSM6DS3 姿态传感器,并读数据(不确定 ESP 系列是否可行,但大概率是可行的)
总览 1.初始化 ATmega328PB,默认大家已经完成了 328 的配置准备工作,已经直接能够向里面写入程序 2.接线,然后验证 mega328 的 I2C 设备接口能否扫描到 LSM6DS3 3.编写代码,上传,查看串口数据。完成。 一、初始化 AT…...

live2d + edge-tts 优雅的实现数字人讲话 ~
震惊!live2d数字人竟开口说话 ~ 之前有想做数字人相关项目,查了一些方案。看了一些三方大厂的商用方案,口型有点尴尬,而且很多是采用视频流的方案,对流量的消耗很大。后来了解了live2d 技术,常在博客网页上…...
uniapp 对接腾讯云IM群组成员管理(增删改查)
UniApp 实战:腾讯云IM群组成员管理(增删改查) 一、前言 在社交类App开发中,群组成员管理是核心功能之一。本文将基于UniApp框架,结合腾讯云IM SDK,详细讲解如何实现群组成员的增删改查全流程。 权限校验…...

无法与IP建立连接,未能下载VSCode服务器
如题,在远程连接服务器的时候突然遇到了这个提示。 查阅了一圈,发现是VSCode版本自动更新惹的祸!!! 在VSCode的帮助->关于这里发现前几天VSCode自动更新了,我的版本号变成了1.100.3 才导致了远程连接出…...

CMake基础:构建流程详解
目录 1.CMake构建过程的基本流程 2.CMake构建的具体步骤 2.1.创建构建目录 2.2.使用 CMake 生成构建文件 2.3.编译和构建 2.4.清理构建文件 2.5.重新配置和构建 3.跨平台构建示例 4.工具链与交叉编译 5.CMake构建后的项目结构解析 5.1.CMake构建后的目录结构 5.2.构…...

为什么需要建设工程项目管理?工程项目管理有哪些亮点功能?
在建筑行业,项目管理的重要性不言而喻。随着工程规模的扩大、技术复杂度的提升,传统的管理模式已经难以满足现代工程的需求。过去,许多企业依赖手工记录、口头沟通和分散的信息管理,导致效率低下、成本失控、风险频发。例如&#…...
论文解读:交大港大上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化学习框架(一)
宇树机器人多姿态起立控制强化学习框架论文解析 论文解读:交大&港大&上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化学习框架(一) 论文解读:交大&港大&上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化…...

C# 类和继承(抽象类)
抽象类 抽象类是指设计为被继承的类。抽象类只能被用作其他类的基类。 不能创建抽象类的实例。抽象类使用abstract修饰符声明。 抽象类可以包含抽象成员或普通的非抽象成员。抽象类的成员可以是抽象成员和普通带 实现的成员的任意组合。抽象类自己可以派生自另一个抽象类。例…...
GitHub 趋势日报 (2025年06月08日)
📊 由 TrendForge 系统生成 | 🌐 https://trendforge.devlive.org/ 🌐 本日报中的项目描述已自动翻译为中文 📈 今日获星趋势图 今日获星趋势图 884 cognee 566 dify 414 HumanSystemOptimization 414 omni-tools 321 note-gen …...

【JavaWeb】Docker项目部署
引言 之前学习了Linux操作系统的常见命令,在Linux上安装软件,以及如何在Linux上部署一个单体项目,大多数同学都会有相同的感受,那就是麻烦。 核心体现在三点: 命令太多了,记不住 软件安装包名字复杂&…...

算法笔记2
1.字符串拼接最好用StringBuilder,不用String 2.创建List<>类型的数组并创建内存 List arr[] new ArrayList[26]; Arrays.setAll(arr, i -> new ArrayList<>()); 3.去掉首尾空格...

基于SpringBoot在线拍卖系统的设计和实现
摘 要 随着社会的发展,社会的各行各业都在利用信息化时代的优势。计算机的优势和普及使得各种信息系统的开发成为必需。 在线拍卖系统,主要的模块包括管理员;首页、个人中心、用户管理、商品类型管理、拍卖商品管理、历史竞拍管理、竞拍订单…...