Hive on Tez 的安装配置

简介: Hive on Tez 的安装配置

Hive on Tez 的安装配置



x7tqydsimybf4_4cd1f525c99b4f8aaffd9ae665358c43.jpeg



0. 写在前面

  • Hadoop:Hadoop-2.9.2
  • Hive:Hive-2.3.7
  • Tez:Tez-0.9.0


1. 起源

Hortonworks在2014年左右发布了Stinger Initiative,并进行社区分享,为的是让Hive支持更多SQL,并实现更好的性能。

  • 让Hive的查询功能更强大。增加类似OVER子句的分析功能,支持WHERE子查询,以及调整Hive的样式系统更多的符合标准的SQL模型;
  • 优化Hive的请求执行计划,增加 Task 每秒处理记录的数量;
  • 引入新的列式文件格式(ORC文件),提供一种更现代、高效和高性能的方式来储存Hive数据;
  • 引入新的runtime框架——Tez,消除Hive的延迟以及吞吐量限制。Tez通过消除不必要的task、障碍同步和对HDFS的读写作业来优化Hive job;


2. Tez概述


Tez是Apache开源的支持 DAG (有向无环图)作业的计算框架,是支持Hadoop 2.x的重要引擎。它源于MapReduce框架,核心思想是将Map和Reduce两个操作进一步拆分,分解后的元操作可以任意灵活组合,产生新的操作,这些操作经过一些控制程序组装后,可形成一个大的DAG作业。


1.jpeg

Tez将 Map task 和 Reduce task 进一步拆分为如下图所示:

2.jpeg


Tez的task由Input、processor、output阶段组成,可以表达所有复杂的map、

reduce操作,如下图:

3.jpeg


Tez可以将多个有依赖的作业转换为一个作业(只需写一次HDFS,中间环节较

少),从而大大提升DAG作业的性能。Tez已被Hortonworks用于Hive引擎的优化,

经测试一般小任务比Hive MR 的2-3倍速度左右,大任务7-10倍左右,根据情况不同

可能不一样。

4.jpeg


Hive-on-MR is deprecated in Hive 2 and may not be available in
the future versions. Consider using a different execution
engine (i.e. spark, tez) or using Hive 1.X releases.


Tez+Hive仍采用`MapReduce`计算框架,但对DAG的作业依赖关系进行了 裁剪 ,并将多个小作业合并成一个大作业,不仅 减少了计算量,而且写HDFS次数也大大减少



3. 安装部署

前置芝士


官方推荐使用 Tez 和包中包含的预打包 Hadoop 库  的安装方式。包含所有依赖项的完整 tarball 是确保现有作业在集群滚动升级期间继续运行的更好方法。


安装


  • 1、下载软件包:apache-tez-0.9.2-bin.tar.gz
  • 2、解压缩
tar -zxvf apache-tez-0.9.0-bin.tar.gz
cd apache-tez-0.9.0-bin/share


  • 3、将tez的压缩包放到hdfs上
hdfs dfs -mkdir-p /user/tez
hdfs dfs -put tez.tar.gz /user/tez


  • 4、$HADOOP_HOME/etc/hadoop/ 下创建 tez-site.xml  文件,做如下配置:保存后将文件复制到集群所有节点
<?xmlversion="1.0" encoding="UTF-8"?><configuration><!-- 指定在hdfs上的tez包文件 --><property><name>tez.lib.uris</name><value>hdfs://hadoop1:9000/user/tez/tez.tar.gz</value></property></configuration>

保存后将文件分发到集群所有节点


  • 5、增加客户端节点的配置(/etc/profile)
exportTEZ_CONF_DIR=$HADOOP_CONF_DIRexportTEZ_JARS=/opt/apps/tez/*:/opt/apps/tez/lib/*
exportHADOOP_CLASSPATH=$TEZ_CONF_DIR:$TEZ_JARS:$HADOOP_CLASSPATH
  • 6、Hive设置Tez执行
hive> set hive.execution.engine=tez;

4.jpeg


  • 7、如果想默认使用Tez,可在$HIVE_HOME/conf目录下 hive-site.xml 中增加
<property>
  <name>hive.execution.engine</name>
  <value>tez</value>
</property>


4. 解决日志Jar包冲突

rm /opt/apps/tez/lib/slf4j-log4j12-1.7.10.jar

结束!


目录
相关文章
|
6月前
|
SQL 数据库 HIVE
记录hive数据库远程访问配置问题
记录hive数据库远程访问配置问题
152 0
|
SQL 安全 Java
一篇文章彻底理解 HIVE 常见的三种 AUTHENTICATION 认证机制的配置与使用
一篇文章彻底理解 HIVE 常见的三种 AUTHENTICATION 认证机制的配置与使用
|
1月前
|
SQL 存储 分布式计算
Hadoop-16-Hive HiveServer2 HS2 允许客户端远程执行HiveHQL HCatalog 集群规划 实机配置运行
Hadoop-16-Hive HiveServer2 HS2 允许客户端远程执行HiveHQL HCatalog 集群规划 实机配置运行
41 3
|
1月前
|
SQL 存储 数据管理
Hadoop-15-Hive 元数据管理与存储 Metadata 内嵌模式 本地模式 远程模式 集群规划配置 启动服务 3节点云服务器实测
Hadoop-15-Hive 元数据管理与存储 Metadata 内嵌模式 本地模式 远程模式 集群规划配置 启动服务 3节点云服务器实测
56 2
|
5月前
|
SQL 资源调度 数据库连接
Hive怎么调整优化Tez引擎的查询?在Tez上优化Hive查询的指南
在Tez上优化Hive查询,包括配置参数调整、理解并行化机制以及容器管理。关键步骤包括YARN调度器配置、安全阀设置、识别性能瓶颈(如mapper/reducer任务和连接操作),理解Tez如何动态调整mapper和reducer数量。例如,`tez.grouping.max-size` 影响mapper数量,`hive.exec.reducers.bytes.per.reducer` 控制reducer数量。调整并发和容器复用参数如`hive.server2.tez.sessions.per.default.queue` 和 `tez.am.container.reuse.enabled`
398 0
|
6月前
|
SQL 存储 分布式计算
Hive详解、配置、数据结构、Hive CLI
Hive详解、配置、数据结构、Hive CLI
119 0
Hive详解、配置、数据结构、Hive CLI
|
6月前
|
SQL 分布式计算 资源调度
一文看懂 Hive 优化大全(参数配置、语法优化)
以下是对提供的内容的摘要,总长度为240个字符: 在Hadoop集群中,服务器环境包括3台机器,分别运行不同的服务,如NodeManager、DataNode、NameNode等。集群组件版本包括jdk 1.8、mysql 5.7、hadoop 3.1.3和hive 3.1.2。文章讨论了YARN的配置优化,如`yarn.nodemanager.resource.memory-mb`、`yarn.nodemanager.vmem-check-enabled`和`hive.map.aggr`等参数,以及Map-Side聚合优化、Map Join和Bucket Map Join。
332 0
|
6月前
|
SQL HIVE
Hive【基础知识 04】【Hive 属性配置的三种方式及配置的优先级说明】
【4月更文挑战第7天】Hive【基础知识 04】【Hive 属性配置的三种方式及配置的优先级说明】
109 0
|
6月前
|
SQL Java Shell
Hive【非交互式使用、三种参数配置方式】
Hive【非交互式使用、三种参数配置方式】
|
SQL 分布式计算 Hadoop
配置Hive使用Spark执行引擎
在Hive中,可以通过配置来指定使用不同的执行引擎。Hive执行引擎包括:默认MR、tez、spark。
272 0

热门文章

最新文章