【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回忆

相关推荐
AAA小肥杨6 小时前
基于k8s的Python的分布式深度学习训练平台搭建简单实践
人工智能·分布式·python·ai·kubernetes·gpu
爬山算法9 小时前
Redis(73)如何处理Redis分布式锁的死锁问题?
数据库·redis·分布式
IT小哥哥呀9 小时前
电池制造行业数字化实施
大数据·制造·智能制造·数字化·mom·电池·信息化
Xi xi xi9 小时前
苏州唯理科技近期也正式发布了国内首款神经腕带产品
大数据·人工智能·经验分享·科技
yumgpkpm10 小时前
华为鲲鹏 Aarch64 环境下多 Oracle 、mysql数据库汇聚到Cloudera CDP7.3操作指南
大数据·数据库·mysql·华为·oracle·kafka·cloudera
祈祷苍天赐我java之术11 小时前
Redis 数据类型与使用场景
java·开发语言·前端·redis·分布式·spring·bootstrap
UMI赋能企业11 小时前
制造业流程自动化提升生产力的全面分析
大数据·人工智能
TDengine (老段)11 小时前
TDengine 数学函数 FLOOR 用户手册
大数据·数据库·物联网·时序数据库·iot·tdengine·涛思数据
猫林老师13 小时前
HarmonyOS线程模型与性能优化实战
数据库·分布式·harmonyos
派可数据BI可视化13 小时前
商业智能BI 浅谈数据孤岛和数据分析的发展
大数据·数据库·数据仓库·信息可视化·数据挖掘·数据分析