【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 技术,常在博客网页上…...
挑战杯推荐项目
“人工智能”创意赛 - 智能艺术创作助手:借助大模型技术,开发能根据用户输入的主题、风格等要求,生成绘画、音乐、文学作品等多种形式艺术创作灵感或初稿的应用,帮助艺术家和创意爱好者激发创意、提高创作效率。 - 个性化梦境…...
应用升级/灾备测试时使用guarantee 闪回点迅速回退
1.场景 应用要升级,当升级失败时,数据库回退到升级前. 要测试系统,测试完成后,数据库要回退到测试前。 相对于RMAN恢复需要很长时间, 数据库闪回只需要几分钟。 2.技术实现 数据库设置 2个db_recovery参数 创建guarantee闪回点,不需要开启数据库闪回。…...
FFmpeg 低延迟同屏方案
引言 在实时互动需求激增的当下,无论是在线教育中的师生同屏演示、远程办公的屏幕共享协作,还是游戏直播的画面实时传输,低延迟同屏已成为保障用户体验的核心指标。FFmpeg 作为一款功能强大的多媒体框架,凭借其灵活的编解码、数据…...
HTML 列表、表格、表单
1 列表标签 作用:布局内容排列整齐的区域 列表分类:无序列表、有序列表、定义列表。 例如: 1.1 无序列表 标签:ul 嵌套 li,ul是无序列表,li是列表条目。 注意事项: ul 标签里面只能包裹 li…...
Psychopy音频的使用
Psychopy音频的使用 本文主要解决以下问题: 指定音频引擎与设备;播放音频文件 本文所使用的环境: Python3.10 numpy2.2.6 psychopy2025.1.1 psychtoolbox3.0.19.14 一、音频配置 Psychopy文档链接为Sound - for audio playback — Psy…...
OpenLayers 分屏对比(地图联动)
注:当前使用的是 ol 5.3.0 版本,天地图使用的key请到天地图官网申请,并替换为自己的key 地图分屏对比在WebGIS开发中是很常见的功能,和卷帘图层不一样的是,分屏对比是在各个地图中添加相同或者不同的图层进行对比查看。…...
佰力博科技与您探讨热释电测量的几种方法
热释电的测量主要涉及热释电系数的测定,这是表征热释电材料性能的重要参数。热释电系数的测量方法主要包括静态法、动态法和积分电荷法。其中,积分电荷法最为常用,其原理是通过测量在电容器上积累的热释电电荷,从而确定热释电系数…...
技术栈RabbitMq的介绍和使用
目录 1. 什么是消息队列?2. 消息队列的优点3. RabbitMQ 消息队列概述4. RabbitMQ 安装5. Exchange 四种类型5.1 direct 精准匹配5.2 fanout 广播5.3 topic 正则匹配 6. RabbitMQ 队列模式6.1 简单队列模式6.2 工作队列模式6.3 发布/订阅模式6.4 路由模式6.5 主题模式…...
C# 表达式和运算符(求值顺序)
求值顺序 表达式可以由许多嵌套的子表达式构成。子表达式的求值顺序可以使表达式的最终值发生 变化。 例如,已知表达式3*52,依照子表达式的求值顺序,有两种可能的结果,如图9-3所示。 如果乘法先执行,结果是17。如果5…...
关于easyexcel动态下拉选问题处理
前些日子突然碰到一个问题,说是客户的导入文件模版想支持部分导入内容的下拉选,于是我就找了easyexcel官网寻找解决方案,并没有找到合适的方案,没办法只能自己动手并分享出来,针对Java生成Excel下拉菜单时因选项过多导…...
