当前位置: 首页 > news >正文

【Hadoop】建立圈内组件的宏观认识

    • 01存储
    • 02计算
    • 03调度
    • 04其他
    • 05回忆

hadoop生态

众多组件们构建了大规模分布式计算和存储平台。本文介绍Hadoop生态圈中各个组件的主要功能和作用,辅助学者理解每个组件的定位和用途,从而建立对圈内组件的宏观认识。梳理清楚HDFS、MapReduce、YARN、Hive、HBase、Spark、pig、Sqoop、Oozie、Ambari、Flume、tez、Mahout、Zookeeper、Altas、Hue、Range、kylin等核心组件在大数据处理和分析中的角色定位。多说不唠,进入正题…

01存储

  1. HDFS (Hadoop Distributed File System)
  • 角色:Hadoop体系的核心组件之一,是一个分布式文件系统。
  • 主要功能:
    • 大规模数据存储:能够存储超大文件(TB级别)。
    • 高容错性:通过数据复制确保数据的可靠性。
    • 高吞吐量:优化大数据集的访问,适合批处理。
  • 架构:
    • NameNode:管理文件系统的命名空间和客户端对文件的访问。
    • DataNode:存储实际的数据块。
  • 特点:
    • 适合写一次,读多次的场景。
    • 不适合低延迟数据访问和大量小文件存储。
  1. HBase
  • 角色:分布式、可扩展的面向列的NoSQL数据库。
  • 主要功能:
    • 实时读写:提供对大规模数据的随机、实时读写访问。
    • 存储结构化和半结构化数据。
    • 支持线性和模块化扩展。
  • 架构:
    • HMaster:管理和分配region,处理元数据操作。
    • RegionServer:负责服务和管理regions。
    • Zookeeper:协调分布式操作。
  • 特点:
    • 基于HDFS存储,利用HDFS的容错能力。
    • 适合需要随机、实时读写访问的大数据场景。
    • 支持高并发,可以处理大量的读写请求。

02计算

  1. MapReduce
  • 角色:Hadoop的核心计算框架
  • 功能:用于并行处理大规模数据集的分布式计算模型
  • 特点:
    • 将复杂问题分解为可并行计算的简单任务
    • 高容错性,能够处理节点故障
    • 适合批处理作业
  1. Hive
  • 角色:数据仓库工具
  • 功能:提供类SQL查询语言(HiveQL)来分析存储在Hadoop中的大规模数据
  • 特点:
    • 将SQL查询转换为MapReduce作业
    • 适合复杂的批量数据处理
    • 提供了丰富的内置函数和自定义函数能力
  1. Spark
  • 角色:快速通用的集群计算系统
  • 功能:提供内存计算功能,用于大规模数据处理
  • 特点:
    • 支持多种编程语言(Scala, Java, Python, R)
    • 包含多个库,如Spark SQL, MLlib, GraphX, Spark Streaming
    • 比MapReduce快很多,特别是对于迭代算法
  1. Kylin
  • 角色:开源的分布式分析引擎
  • 功能:提供Hadoop/Spark之上的SQL接口及多维分析(OLAP)能力
  • 特点:
    • 极速OLAP引擎
    • 支持超大规模数据集
    • 与现有BI工具无缝集成
  1. Impala
  • 角色:开源的分布式SQL查询引擎
  • 功能:为存储在Hadoop的数据提供低延迟和高并发的SQL查询
  • 特点:
    • 比Hive快得多,接近传统数据库的查询速度
    • 支持HDFS和HBase作为存储系统
    • 与Hive的元数据、SQL语法和用户界面兼容
  1. Flink
  • 角色:分布式大数据处理引擎
  • 功能:提供数据流和批数据处理能力
  • 特点:
    • 真正的流处理,支持事件时间和处理时间
    • exactly-once语义
    • 低延迟,高吞吐量
    • 支持迭代处理和增量迭代

03调度

  1. YARN (Yet Another Resource Negotiator)
  • 角色:Hadoop的资源管理系统
  • 功能:
    • 管理集群资源并调度任务
    • 允许多种数据处理引擎在Hadoop上运行
  • 特点:
    • 将资源管理和作业调度/监控分离
    • 支持多种应用程序,不仅限于MapReduce
    • 提高集群利用率和可扩展性
  1. Oozie
  • 角色:工作流调度系统
  • 功能:
    • 管理和协调Hadoop作业
    • 定义、执行和监控复杂的数据管道
  • 特点:
    • 支持多种Hadoop作业类型(MapReduce, Pig, Hive等)
    • 可以通过XML定义工作流
    • 提供基于时间和数据的作业触发机制
  1. Zookeeper
  • 角色:分布式协调服务
  • 功能:
    • 为分布式应用提供同步、配置管理、分组和命名服务
    • 维护分布式系统的一致性
  • 特点:
    • 高性能、高可用性
    • 提供简单的接口
    • 被广泛用于Hadoop生态系统中,如HBase
  1. Dolphin Scheduler (Apache DolphinScheduler)
  • 角色:分布式和可扩展的工作流调度平台
  • 功能:
    • 可视化DAG工作流定义
    • 工作流的调度、执行和监控
  • 特点:
    • 支持多种任务类型(Shell, SQL, Python等)
    • 提供强大的任务依赖管理
    • 具有容错和失败恢复机制
    • 提供友好的用户界面,易于操作和监控
    • 支持多租户

04其他

  1. Pig
  • 角色:高级数据流语言和执行框架
  • 功能:简化MapReduce操作的创建和执行
  • 特点:
    • 使用Pig Latin语言,类似于SQL但更适合数据流
    • 可以处理结构化和非结构化数据
    • 适合数据转换和ETL过程
  1. Sqoop
  • 角色:数据传输工具
  • 功能:在Hadoop和结构化数据存储(如关系数据库)之间传输数据
  • 特点:
    • 支持增量导入
    • 可以将导入的数据直接存为Hive表
    • 支持多种数据库系统
  1. Flume
  • 角色:分布式日志收集系统
  • 功能:收集、聚合和移动大量日志数据
  • 特点:
    • 灵活的架构基于流式数据流
    • 可靠性机制和故障恢复
    • 可定制性强,支持多种数据源和目标
  1. Ambari
  • 角色:Hadoop集群管理工具
  • 功能:简化Hadoop的安装、管理和监控
  • 特点:
    • 提供直观的Web UI
    • 支持多种Hadoop组件的配置和管理
    • 提供集群健康检查和告警功能
  1. Tez
  • 角色:数据处理框架
  • 功能:加速Hadoop上的数据处理应用
  • 特点:
    • 比MapReduce更快,特别是对于复杂的数据处理任务
    • 被Hive和Pig等工具用作执行引擎
    • 支持复杂的DAG(有向无环图)作业
  1. Atlas
  • 角色:元数据管理和治理平台
  • 功能:为Hadoop生态系统提供元数据管理和数据治理能力
  • 特点:
    • 提供数据分类和血缘关系追踪
    • 支持复杂的元数据搜索
    • 提供安全和策略引擎
  1. Hue
  • 角色:Hadoop用户界面
  • 功能:提供Web界面来与Hadoop交互
  • 特点:
    • 支持多种Hadoop组件,如HDFS、Hive、HBase等
    • 提供查询编辑器、文件浏览器等工具
    • 用户友好,易于使用
  1. Ranger
  • 角色:安全管理框架
  • 功能:为Hadoop集群提供全面的安全管理
  • 特点:
    • 集中化的安全管理
    • 细粒度的访问控制
    • 支持审计和数据屏蔽

05回忆

hadoop生态

相关文章:

【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)。更准确的定义是&#xff1…...

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、流服务源&#xff08;Streaming Source&#xff09; 2、流服务汇&#xff08;Streaming Sink&#xff09; 二、数据链路 1、数据管道&#xff08;Data Pipe&#xff09; 2、子流&#xff08;Substreams&#xff09; 3、触发管道&#xff08;Tri…...

【Arduino】ATmega328PB 连接 LSM6DS3 姿态传感器,并读数据(不确定 ESP 系列是否可行,但大概率是可行的)

总览 1.初始化 ATmega328PB&#xff0c;默认大家已经完成了 328 的配置准备工作&#xff0c;已经直接能够向里面写入程序 2.接线&#xff0c;然后验证 mega328 的 I2C 设备接口能否扫描到 LSM6DS3 3.编写代码&#xff0c;上传&#xff0c;查看串口数据。完成。 一、初始化 AT…...

live2d + edge-tts 优雅的实现数字人讲话 ~

震惊&#xff01;live2d数字人竟开口说话 ~ 之前有想做数字人相关项目&#xff0c;查了一些方案。看了一些三方大厂的商用方案&#xff0c;口型有点尴尬&#xff0c;而且很多是采用视频流的方案&#xff0c;对流量的消耗很大。后来了解了live2d 技术&#xff0c;常在博客网页上…...

5个痛点解决:ComfyUI-KJNodes让工作流效率提升60%的实战指南

5个痛点解决&#xff1a;ComfyUI-KJNodes让工作流效率提升60%的实战指南 【免费下载链接】ComfyUI-KJNodes Various custom nodes for ComfyUI 项目地址: https://gitcode.com/gh_mirrors/co/ComfyUI-KJNodes ComfyUI-KJNodes是一套功能强大的ComfyUI自定义节点集合&…...

Ruby OpenAI用户行为分析:AI交互模式深度研究

Ruby OpenAI用户行为分析&#xff1a;AI交互模式深度研究 【免费下载链接】ruby-openai OpenAI API Ruby! &#x1f916;&#x1fa75; Now with Assistants, Threads, Messages, Runs and Text to Speech &#x1f37e; 项目地址: https://gitcode.com/gh_mirrors/ru/ruby-…...

NcmpGui:解锁网易云音乐NCM格式的终极桌面解决方案

NcmpGui&#xff1a;解锁网易云音乐NCM格式的终极桌面解决方案 【免费下载链接】ncmppGui 一个使用C编写的转换ncm文件的GUI工具 项目地址: https://gitcode.com/gh_mirrors/nc/ncmppGui 你是否曾因网易云音乐的NCM格式文件无法在其他播放器上正常播放而感到困扰&#x…...

思博伦TestCenter打流丢包?别急着甩锅设备,先看看这个20字节的‘隐形签名’

思博伦TestCenter打流丢包&#xff1f;别急着甩锅设备&#xff0c;先看看这个20字节的‘隐形签名’ 当你在深夜的机房里盯着思博伦TestCenter的测试报告&#xff0c;发现RFC2544吞吐量测试结果突然归零&#xff0c;而端口统计与流统计的数值差异大得离谱时&#xff0c;那种抓狂…...

蓝牙UUID:从标准服务到自定义通信的密钥

1. 蓝牙UUID&#xff1a;智能设备的身份证 想象一下你走进一个满是蓝牙设备的房间——智能手环在测量心率&#xff0c;温湿度计在报告数据&#xff0c;智能灯泡等待你的指令。这些设备如何知道该响应哪个请求&#xff1f;答案就藏在那个128位的UUID&#xff08;通用唯一识别码…...

数据库工具效率提升指南:三步掌握开源数据库管理新范式

数据库工具效率提升指南&#xff1a;三步掌握开源数据库管理新范式 【免费下载链接】dblab The database client every command line junkie deserves. 项目地址: https://gitcode.com/gh_mirrors/db/dblab 在数据驱动开发的时代&#xff0c;开源数据库管理工具已成为开…...

Copilot 命令行使用方式介绍(npm)

1. 什么是 Apache SeaTunnel&#xff1f; Apache SeaTunnel 是一个非常易于使用、高性能、支持实时流式和离线批处理的海量数据集成平台。它的目标是解决常见的数据集成问题&#xff0c;如数据源多样性、同步场景复杂性以及资源消耗高的问题。 核心特性 丰富的数据源支持&#…...

Lean 4:用数学证明构建高可靠软件的革命性工具

Lean 4&#xff1a;用数学证明构建高可靠软件的革命性工具 【免费下载链接】lean4 Lean 4 programming language and theorem prover 项目地址: https://gitcode.com/GitHub_Trending/le/lean4 问题&#xff1a;当系统崩溃成为不可承受之重 2024年3月&#xff0c;某医疗…...

VMware12虚拟机安装Mac系统全攻略:从环境配置到网络共享一站式指南

1. VMware12虚拟机安装Mac系统前的准备 在Windows环境下运行Mac系统听起来像是天方夜谭&#xff0c;但借助VMware12虚拟机&#xff0c;这件事变得出奇简单。我去年为了测试iOS应用就走过这条路&#xff0c;整个过程踩过不少坑&#xff0c;也积累了不少经验。首先需要明确的是&a…...

手把手教你用脉动阵列实现FIR滤波器:从理论到VLSI设计的完整流程

手把手教你用脉动阵列实现FIR滤波器&#xff1a;从理论到VLSI设计的完整流程 在数字信号处理领域&#xff0c;FIR滤波器因其线性相位特性和稳定性而广受欢迎。但当面对高性能、低功耗的应用场景时&#xff0c;传统实现方式往往难以满足需求。脉动阵列&#xff08;Systolic Arr…...