Hadoop生态圈

Hadoop框架
在这里插入图片描述

主要服务介绍

软件解析备注
HDFS分布式存储数据,数据分散存储一个存储文件在HDFS中被分成若干个小块,每个小块被存储在不同的服务器上
MapReduce第一代分布式计算框架 — 分布式计算(将任务 分布在多个服务器上,服务器越多,计算越快)Map阶段—多台机器同时读取文件内容,分别做统计。Reduce阶段— 将Map结果作为输入,进行汇总,整理,输出结果
Tez、Spark第二代分布式计算框架计算框架
Yarn分布式资源管理器管理多种计算模型,为各个模型分配资源
Spark以内存换效率中间计算结果不落地,在内存中直接进入下一步骤
HBase分布式列存储数据库(非关系型数据库)负责HDFS文件的读取,写入,速度快
Hive数据仓库类似于SQL实现数据库查询的语言,将SQL转化为MapReduce 程序
Oozie工作流调度器对有依赖关系的程序,依次执行
Sqoop数据库系统的导入将MYSQL数据库导入到 HDFS中
Pig数据库导入任务,映射到MapReduce中执行减少用户自行编写 Java程序
Flume日志收集工具节约数据传输开销,同时可以对数据日志进行简单处理,将日志写成各种数据目标
Kafka分布式消息队列生产者、消费者
ZooKeeper分布式协作服务解决单点故障问题

HDFS(分布式文件系统)

  • 提供分布式存储支持的系统,上层的很多计算框架(Hbase、Spark等)等依赖于HDFS存储
  • 主要由 NameNode、DataNode 两部分组成
  • NameNode 是 HDFS的管理节点,存储数据元(文件对应的数据块、文件大小、文件权限等),同时负责读、写调度和存储分配
  • DataNode 节点是真正的存储节点,用来存储数据和,在DataNode上每个数据块会根据设置副本数进行分级复制,保证同毅文件的每个数据块副本都不在同一个机器上

MapReduce(分布式计算框架) — 离线计算(非实时计算)

  • Map阶段—多台机器同时读取文件内容,分别做统计。Reduce阶段— 将Map结果作为输入,进行汇总,整理,输出结果

Yarn(分布式资源管理器)

  • 支持CPU和内存两种资源管理
  • 资源管理由 ResourceManager(RM)、applicationMaster(AM)、NodeManager(NM) 共同完成
  • RM 负责对NM 上的资源进行统一管理和调度
  • NM 负责 资源的供给 和隔离
  • AM 用户提交应用程序后,会创建一个跟踪和管理这个程序的AM,负责向RM申请资源,并要求NM启动指定资源的任务
  • 可以管理多种计算模型,如Spark、Storm、MapReduce、Flink 都可以放在 Yarn 下进行统一管理

Spark(内存计算) — 内存中分布式计算(内存换效率)

  • MapReduce 是将每一步的中间计算结果存入到磁盘中,下一步进行使用时,在从磁盘中取出。
  • Spark 任务则在计算过程中,中间结果不会落地,直接进入下 一步骤,最终将最后的结果写入磁盘

HBase(分布式列存储数据库)

  • 面向列存储的数据 — 非关系型数据库(NoSQL)
  • 将不同数据的同一属性值存储在一起,在查询时,只遍历需要的数据,实现数据即是索引
  • 内部管理的文件全部存储在HDFS中。
  • 适用场景 — 交易历史查询操作,查询场景简单,检索条件少,每秒几万行数据更新。

Hive(数据仓库)

  • 一种类似 SQL的查询语言(HQL),可以将 SQL 转化为 MapReduce 任务在Hadoop 上执行

Oozie(工作流调度器)

  • 在执行多个任务时,任务之间有依赖关系,一个任务的开启需要依赖另一个任务的完成
  • Oozie 是一个基于共工作流引擎的调度器,是一个运行在Java Servlet容器(如Tomact)中的Javas Web 应用,可运行 Hadoop 的 MapReduce 和Pig等任务
  • 工作流通过 hPDL 定义,工作流操作通过远程系统启动任务,当任务完成后,远程系统会回调通知任务结束,然后再开始下一个操作

Sqoop 和 Pig

  • 将原有 MYSQL数据库文件导入到HDFS系统中。Sqoop (SQL-to-Hadoop)实现
  • Pig 是一种数据流语言,可以完成 排序,过滤,求和,关联等操作,支持自定义函数,将数据映射到MapReduce作业,上传到集群运行,减少用户编写Java 程序的苦恼

Flume(日志收集工具)

  • 数据传输机制,保证数据传输的实时性,完整性,及节约带宽
  • 将数据从生产、传输、处理并最终写入目标路径的过程,抽象为数据流,数据原 支持再 Flume中定制数据发送方,从而支持收集各种不同协议数据
  • 同时提供对 日志数据进行简单处理的能力,如过滤,格式转换。
  • 具有 将日志写往各种数据目标(文件、HDFS、网络)的能力
  • Hadoop 平台主要是通过 Flume 将数据从源服务器写入Hadoop 的HDFS中

Kafka(分布式消息队列)

  • 实时处理大量数据以满足各种需求的场景
  • 作为多种类型的 数据管道和消息系统使用

ZoopKeeper(分布式协作服务)

  • 针对单点故障,一般采用双机热备份处理,但由于网络问题,容易 造成双主节点问题
  • 两个节点启动后 ,都会去ZooKeeper中进行注册信息,ZooKeeper对先注册的节点A进行锁定,对两个节点进行选取,对节点 B 进行阻塞备用,如果 A故障,这时 ZooKeeper 删除 A节点注册 信息,启用 B 节点

Ambari(大数据运维工具)

  • 大数据基础运维平台,实现生态圈各种组件的自动化部署,服务管理和监控警告
  • Ambari 通过 puppet 实现自动化安装和配置
  • 通过 Ganglia 收集监控度量指标
  • 通过 Nagios 实现故障警报
  • Ambari 已支持大多数 Hadoop 组件,包括 HDFS、MapReduce、Oozie、Hive、Pig、 Hbase、ZooKeeper、Sqoop、Kafka、Spark、Druid、Storm 等几十个常用的 Hadoop 组件
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值