当前位置: 首页 > 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;常在博客网页上…...

Debian系统简介

目录 Debian系统介绍 Debian版本介绍 Debian软件源介绍 软件包管理工具dpkg dpkg核心指令详解 安装软件包 卸载软件包 查询软件包状态 验证软件包完整性 手动处理依赖关系 dpkg vs apt Debian系统介绍 Debian 和 Ubuntu 都是基于 Debian内核 的 Linux 发行版&#xff…...

Leetcode 3577. Count the Number of Computer Unlocking Permutations

Leetcode 3577. Count the Number of Computer Unlocking Permutations 1. 解题思路2. 代码实现 题目链接&#xff1a;3577. Count the Number of Computer Unlocking Permutations 1. 解题思路 这一题其实就是一个脑筋急转弯&#xff0c;要想要能够将所有的电脑解锁&#x…...

Golang dig框架与GraphQL的完美结合

将 Go 的 Dig 依赖注入框架与 GraphQL 结合使用&#xff0c;可以显著提升应用程序的可维护性、可测试性以及灵活性。 Dig 是一个强大的依赖注入容器&#xff0c;能够帮助开发者更好地管理复杂的依赖关系&#xff0c;而 GraphQL 则是一种用于 API 的查询语言&#xff0c;能够提…...

Cinnamon修改面板小工具图标

Cinnamon开始菜单-CSDN博客 设置模块都是做好的&#xff0c;比GNOME简单得多&#xff01; 在 applet.js 里增加 const Settings imports.ui.settings;this.settings new Settings.AppletSettings(this, HTYMenusonichy, instance_id); this.settings.bind(menu-icon, menu…...

python爬虫:Newspaper3k 的详细使用(好用的新闻网站文章抓取和解析的Python库)

更多内容请见: 爬虫和逆向教程-专栏介绍和目录 文章目录 一、Newspaper3k 概述1.1 Newspaper3k 介绍1.2 主要功能1.3 典型应用场景1.4 安装二、基本用法2.2 提取单篇文章的内容2.2 处理多篇文档三、高级选项3.1 自定义配置3.2 分析文章情感四、实战案例4.1 构建新闻摘要聚合器…...

Matlab | matlab常用命令总结

常用命令 一、 基础操作与环境二、 矩阵与数组操作(核心)三、 绘图与可视化四、 编程与控制流五、 符号计算 (Symbolic Math Toolbox)六、 文件与数据 I/O七、 常用函数类别重要提示这是一份 MATLAB 常用命令和功能的总结,涵盖了基础操作、矩阵运算、绘图、编程和文件处理等…...

Kafka入门-生产者

生产者 生产者发送流程&#xff1a; 延迟时间为0ms时&#xff0c;也就意味着每当有数据就会直接发送 异步发送API 异步发送和同步发送的不同在于&#xff1a;异步发送不需要等待结果&#xff0c;同步发送必须等待结果才能进行下一步发送。 普通异步发送 首先导入所需的k…...

【网络安全】开源系统getshell漏洞挖掘

审计过程&#xff1a; 在入口文件admin/index.php中&#xff1a; 用户可以通过m,c,a等参数控制加载的文件和方法&#xff0c;在app/system/entrance.php中存在重点代码&#xff1a; 当M_TYPE system并且M_MODULE include时&#xff0c;会设置常量PATH_OWN_FILE为PATH_APP.M_T…...

嵌入式常见 CPU 架构

架构类型架构厂商芯片厂商典型芯片特点与应用场景PICRISC (8/16 位)MicrochipMicrochipPIC16F877A、PIC18F4550简化指令集&#xff0c;单周期执行&#xff1b;低功耗、CIP 独立外设&#xff1b;用于家电、小电机控制、安防面板等嵌入式场景8051CISC (8 位)Intel&#xff08;原始…...

基于江科大stm32屏幕驱动,实现OLED多级菜单(动画效果),结构体链表实现(独创源码)

引言 在嵌入式系统中&#xff0c;用户界面的设计往往直接影响到用户体验。本文将以STM32微控制器和OLED显示屏为例&#xff0c;介绍如何实现一个多级菜单系统。该系统支持用户通过按键导航菜单&#xff0c;执行相应操作&#xff0c;并提供平滑的滚动动画效果。 本文设计了一个…...