Hadoop Hive 和 YARN 的关系

一句话总结:

Hive 是数仓 SQL 工具,本身不做计算;

YARN 是 Hadoop 的资源调度管理器,给 Hive 的计算任务分配服务器资源,运行 MapReduce/Tez/Spark 计算程序;

一、各自角色

1. Hive

  • Hive 是数仓工具,提供 Hive‑SQL,把我们写的 SQL 语句,编译翻译成分布式计算任务(MR / Tez / Spark)。
  • Hive 本身不做真正的数据计算,只负责:解析 SQL、生成执行计划、生成任务。
  • Hive 自己不管理 CPU、内存服务器资源。生成完任务之后,把任务提交给 YARN 去运行

2. YARN

YARN 是 Hadoop 集群的资源调度框架

负责整个集群机器的 CPU、内存资源管理;

接收各类应用提交的任务,分配 Container 容器,调度任务在各个节点运行,监控任务运行、失败重启。

不止 Hive 可以用 YARN,Spark、Flink、MR 程序都可以提交到 YARN 上跑。

二、完整执行流程(Hive on MapReduce 最经典)

  1. 用户写一条 Hive SQL,在 hive 客户端执行;
  2. Hive 解析、编译 SQL,生成 MapReduce 作业;
  3. Hive 客户端把这个 MR 作业提交给 YARN ResourceManager
  4. RM 根据集群资源情况,分配 Container 容器;
  5. 在容器里面启动 Map Task、Reduce Task,读取 HDFS 上的数据做计算;
  6. 计算完成,结果写回 HDFS,Hive 拿到结果返回给客户端。

Hive 就像项目经理,写好施工方案;

YARN 是工地总管,分配工人机器资源,真正干活;

三、形象比喻

  • Hive:翻译官,把 SQL 翻译成分布式任务说明书。
  • YARN:工厂调度,分配机器内存 CPU,启动 task 真正干活。
  • HDFS:仓库,存放原始数据和计算结果。

四、常见部署模式

  1. Hive‑on‑MR:SQL 编译成 MapReduce 任务,提交 YARN 运行(老常用)
  2. Hive‑on‑Tez:编译成 Tez 任务,提交 YARN
  3. Hive‑on‑Spark:编译 Spark 任务,提交 YARN

不管底层是 MR/Tez/Spark,资源全部由 YARN 统一调度

五、重要区分

  1. Hive 不存储数据,数据存在HDFS
  2. Hive 不调度资源,资源交给YARN
  3. Hive 元数据(表名、分区、字段)存在MySQL 元数据库 Metastore;

六、精简版

Hive 是 Hadoop 上的数据仓库工具,提供 Hive‑SQL。Hive 本身不执行计算,它会把 SQL 解析编译成 MapReduce、Tez 或者 Spark 任务。

YARN 是 Hadoop 的资源调度框架,负责集群 CPU、内存资源管理。

Hive 将生成的计算作业提交给 YARN,由 YARN 分配 Container 容器,调度 Map、Reduce Task 在集群节点执行计算。

Hive 负责 SQL 解析生成计划,YARN 负责资源调度和实际任务运行。

Hive 的数据存储在 HDFS,元数据存放在 MySQL。

七、高频Q&A

Q:Hive 任务卡住,一定是 Hive 本身问题吗?

A:不一定。

  • 如果任务还没提交 YARN:卡在 Hive 编译、Metastore 元数据查询;
  • 如果任务已经提交 YARN:问题基本出在 YARN 侧:资源不足、数据倾斜、HDFS 读写异常。

Q:如果 YARN 挂了,Hive 还能用吗?

A:不能执行查询计算;只能做简单 show tables 这类元数据查询;所有需要计算的 SQL 全部无法运行。

相关推荐
MC丶科20 小时前
软考架构师90天冲刺|DAY44·Redis高级应用
数据库·数据仓库·redis·缓存·oracle·容器·规格说明书
pjj198541 天前
Hadoop-python中使用大数据
大数据·hadoop·python
计算机源码社2 天前
分享一个基于大数据的跨平台内容生态画像与互动等级分析系统,基于Hadoop+Spark的社交媒体互动数据可视化大屏分析
大数据·hadoop·python·机器学习·数据挖掘·spark·毕业设计
BYSJMG2 天前
计算机毕设选题做什么好?基于大数据的用户健身行为数据分析与可视化系统,Hadoop+Spark处理
大数据·人工智能·hadoop·数据分析·spark·课程设计
ha_lydms3 天前
HDFS 简介
大数据·hadoop·hdfs·yarn·调度·aliyun·计算
2601_962298093 天前
零基础学大数据分析全栈
hadoop·python·spark·实战·大数据分析
lhldsg3 天前
幼儿托管系统开发实战指南:从需求分析到架构设计全流程解析
数据库·数据仓库·需求分析
ha_lydms3 天前
HDFS的读写流程
大数据·hadoop·hdfs·mapreduce·yarn·maxcompute·odps
BYSJMG4 天前
大数据毕业设计选题推荐:基于大数据的全球气温历史演变分析与可视化,用Hadoop+Spark处理
大数据·hadoop·分布式·信息可视化·spark·kmeans·课程设计