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

news2024/9/20 12:36:56

    • 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生态

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2039821.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【大模型系列篇】Transformers综述--邱锡鹏

论文标题:A Survey of Transformers 论文作者:Tianyang Lin, Yuxin Wang, Xiangyang Liu, Xipeng Qiu 论文链接:https://arxiv.org/abs/2106.04554 Transformer 在许多人工智能领域(如自然语言处理、计算机视觉和音频处理&#…

【区块链+金融服务】山西省信易贷平台 | FISCO BCOS应用案例

2022 年 8 月 8 日,山西省发展改革委按照国家的顶层设计,指导山西股权交易中心建设山西省信易贷平台,包 括三个子平台:一是建设集金融产品超市、融资需求精准匹配、融资监测等于一体的山西省融资综合信用服务平台; 二是…

微信小程序--25(WXSS模板样式了解)

一、WXSS和CSS关系 大部分特性相同 1.wxss独有 rpx尺寸单位import 样式导入 二、rpx 1.原理 rpx将所有屏幕宽度等分为750份,自动换成像素实现屏幕适配 2.rpx与px之间换算 约分计算不同设备比例不同 三、样式导入 1.语法 importt”相对路径“;…

Qt 0814作业

一、思维导图 二、登录窗口界面 自由发挥登录窗口的应用场景,实现一个登录窗口界面 要求:每行代码都有注释 【需要用到的图片或者动图,自己去网上找】 #include "mywidget.h"MyWidget::MyWidget(QWidget *parent): QWidget(par…

Grok-2的Beta版发布

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗?订阅我们的简报,深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同,从行业内部的深度分析和实用指南中受益。不要错过这个机会,成为AI领…

高阶数据结构(Java):AVL树插入机制的探索

目录 1、概念 1.1 什么是AVL树 2.1 平衡因子 3、AVL树节点的定义 4、AVL树的插入机制 4.1 初步插入节点 4.2 更新平衡因子 4.3 提升右树高度 4.3.1 右单旋 4.3.2 左右双旋 4.4 提升左树高度 4.4.1 左单旋 4.4.2 右左双旋 5、AVL树的验证 6、AVL树的删除 1、概念 …

uni-app 使用九宫格(uni-grid)布局组件

1、运行环境 开发工具为 HBuilder X 4.23, 操作系统为 Windows 11。Vue.js 版本为 3. 2、操作步骤 首先,登录 HBuilder X。然后用桌面浏览器,访问官网组件网址。 https://ext.dcloud.net.cn/plugin?nameuni-grid 在组件网址右上角、点击“下载插…

出差学习笔记(1)汽车智能大灯一键标定功能

出差学习笔记(1)汽车智能大灯一键标定功能 今天看到了某公司制作的汽车智能大灯的一键标定功能,好奇,遂问之。 车前的两个大灯如何标定,我们可以将车辆开到一片墙前,将一些动态/静态图形打到墙上&#xff0…

Sublime Text常用快捷键大全

Sublime Text 是一款功能强大且广受欢迎的文本编辑器,其丰富的快捷键支持使得开发者能够更高效地编写和编辑代码。以下是 Sublime Text 中一些常用的快捷键,帮助你更加高效地使用这款工具: 功能分类快捷键 (Windows)快捷键 (Mac)新建文件Ctr…

Unity Shader变体优化与故障排除技巧

在 Unity 中编写着色器时,我们可以方便地在一个源文件中包含多个特性、通道和分支逻辑。在构建时,着色器源文件会被编译成着色器程序,这些程序包含一个或多个变体。变体是该着色器在满足一组条件后生成的版本,这通常会导致线性执行…

实验五之用Processing绘画

1.案例代码如下: import generativedesign.*; import processing.pdf.*; import java.util.Calendar; Tablet tablet; boolean recordPDF false; float x 0, y 0; float stepSize 5.0; PFont font; String letters "Sie hren nicht die folgenden Gesnge…

STM32寄存器点亮跑马灯

硬件状况 DS0灯接线方式 链路:3.3V --- DS0 --- LED0 --- PB5 | --- CPU 分析: PB5, 为高电平, 那么DS0灯 熄灭 PB5, 为低电平, 那么DS0灯 亮 PB5的配置 配置PB5引脚为输出模式, 输出高电平(灭), 输出低电平(亮),配置为推挽输出 PB5 - GP…

前端开发攻略---图片裁剪上传的原理

目录 ​编辑 1、预览本地图片 2、图片裁剪交互 3、上传裁剪区域 1、预览本地图片 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8" /><meta name"viewport" content"widthdevice-width, initia…

面试必备:高频算法与面试题全面解析

干货分享&#xff0c;感谢您的阅读&#xff01; &#xff08;暂存篇---后续会删除&#xff0c;完整版和持续更新见高频面试题基本总结回顾&#xff08;含笔试高频算法整理&#xff09;&#xff09; 备注&#xff1a;引用请标注出处&#xff0c;同时存在的问题请在相关博客留言…

c++割圆法求圆周率

前言 上期的Python(加了turtle 所以带图片)割圆法点赞数量感人 但洛谷那期已经让我飞了 于是我准备掉点头发 以五升六之躯硬刚初三 这期请教了大量的高年级同学 把这个要用到九年级知识点的割圆法搞出来了 不要怕难 像我这样的xxs也能看懂 先声明 割圆法不一定要用循环 …

Open3D PCA法中特征值和特征向量中的关系及应用(原理详细版)

目录 一、概述 1.1定义 1.2特征值与特征向量的关系 1.3特征值和特征向量大小的关系 1.4在PCA法中的应用及实现步骤 二、特征值大小排序的意义 2.1排序的原因 2.2特征值大小及意义 2.3在PCA中的应用 2.4代码示例 三、特征值计算法向量 3.1评判标准 3.2原理 3…

虚拟人实时主持创意互动方案:赋能峰会论坛会议等活动科技互动感

随着增强现实、虚拟现实等技术的不断发展&#xff0c;“虚拟人实时主持”创意互动模式逐渐代替传统单一真人主持模式&#xff0c;虚拟主持人可以随时随地出现在不同活动现场&#xff0c;也可以同一时间在不同分会场中担任主持工作&#xff0c;在峰会、论坛、会议、晚会、发布会…

与LLMs进行在IDE中直接、无需提示的交互是工具构建者探索的一个有希望的未来方向

这个观点在卡内基梅隆大学与谷歌研究人员合作文章 《Using an LLM to Help With Code Understanding》 中提出。 论文地址&#xff1a;https://dl.acm.org/doi/abs/10.1145/3597503.3639187 摘要 理解代码非常具有挑战性&#xff0c;尤其是在新且复杂的开发环境中。代码注…

教程中对DTC(Data Transfer Object)的叙述有可改进之处

图 不 好&#xff0c;看 不 懂&#xff1b; 找 原 文&#xff0c;弄 清 楚。 翻 译 错&#xff0c;图 也 错&#xff1b; 改 几 字&#xff0c;加 一 图。 新 教 程&#xff0c;新 学 习&#xff1b; 新 体 验&#xff0c;从 未 有。

苹果(ios)私钥证书和profile文件申请教程

苹果&#xff08;ios&#xff09;私钥证书&#xff0c;可以理解为p12后缀的苹果证书&#xff0c;我们在苹果开发者中心可以生成cer格式的证书&#xff0c;然后使用mac电脑或者第三方转换成p12后缀格式的私钥证书。 证书profile文件&#xff0c;又叫描述文件&#xff0c;这个文…