计算引擎Tez安装

article/2025/11/1 2:31:02

1.解压压缩包

tar -zxvf apache-tez-0.9.2-bin.tar.gz

2.将tez路径下的压缩包放到hdfs上

/opt/lagou/servers/tez/share/tez.tar.gzhdfs dfs -mkdir /user/tez
hdfs dfs -put tez.tar.gz /user/tez/

3.配置hadoop让其他地方知道该路径

该路径下新建配置文件tez-site.xml
/opt/lagou/servers/hadoop-2.10.1/etc/hadoop
配置文件的内容为

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<!--指明hdfs集群上的tez的tar包,使Hadoop可以自动分布式缓存该jar包--><property><name>tez.lib.uris</name><value>hdfs://Linux121:9000/user/tez/tez.tar.gz</value></property>
</configuration>

4.配置环境变量(这个配置哪个节点使用到hive就在哪个节点配置,其他节点可以不知道该配置,全部节点都配置也可以)

#Tez
export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
export TEZ_CONF_DIR=$HADOOP_CONF_DIR
export TEZ_JARS=/opt/lagou/servers/tez/*:/opt/lagou/servers/tez/lib/*
export HADOOP_CLASSPATH=$TEZ_CONF_DIR:$TEZ_JARS:$HADOOP_CLASSPATH

查看hive的执行引擎

hive (default)> set hive.execution.engine;
hive.execution.engine=mr

修改计算执行引擎

hive (default)> set hive.execution.engine=tez;
hive (default)> set hive.execution.engine;
hive.execution.engine=tez

当我利用tez执行计算时候发现报如下问题

hive (dws)> select app_v,count(*) from dws_member_retention_day group by app_v;
Query ID = root_20220102110741_de1b700e-6f2f-493f-a495-f2d5a3676063
Total jobs = 1
Launching Job 1 out of 1
FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.tez.TezTask

通过查看hive日志发现

[2022-01-02 11:09:15.587]Container exited with a non-zero exit code 143. 
For more detailed output, check the application tracking page: http://Linux123:8088/cluster/app/application_1641092738683_0001 Then click on links to logs of each attempt.
. Failing the application.at org.apache.tez.client.TezClient.waitTillReady(TezClient.java:1013) ~[tez-api-0.9.2.jar:0.9.2]at org.apache.tez.client.TezClient.waitTillReady(TezClient.java:982) ~[tez-api-0.9.2.jar:0.9.2]at org.apache.hadoop.hive.ql.exec.tez.TezSessionState.startSessionAndContainers(TezSessionState.java:396) ~[hive-exec-2.3.7.jar:2.3.7]at org.apache.hadoop.hive.ql.exec.tez.TezSessionState.openInternal(TezSessionState.java:323) ~[hive-exec-2.3.7.jar:2.3.7]at org.apache.hadoop.hive.ql.exec.tez.TezSessionPoolManager$TezSessionPoolSession.openInternal(TezSessionPoolManager.java:703) ~[hive-exec-2.3.7.jar:2.3.7]at org.apache.hadoop.hive.ql.exec.tez.TezSessionState.open(TezSessionState.java:196) ~[hive-exec-2.3.7.jar:2.3.7]at org.apache.hadoop.hive.ql.exec.tez.TezTask.updateSession(TezTask.java:303) ~[hive-exec-2.3.7.jar:2.3.7]at org.apache.hadoop.hive.ql.exec.tez.TezTask.execute(TezTask.java:168) ~[hive-exec-2.3.7.jar:2.3.7]at org.apache.hadoop.hive.ql.exec.Task.executeTask(Task.java:199) ~[hive-exec-2.3.7.jar:2.3.7]at org.apache.hadoop.hive.ql.exec.TaskRunner.runSequential(TaskRunner.java:100) ~[hive-exec-2.3.7.jar:2.3.7]at org.apache.hadoop.hive.ql.Driver.launchTask(Driver.java:2183) ~[hive-exec-2.3.7.jar:2.3.7]at org.apache.hadoop.hive.ql.Driver.execute(Driver.java:1839) ~[hive-exec-2.3.7.jar:2.3.7]at org.apache.hadoop.hive.ql.Driver.runInternal(Driver.java:1526) ~[hive-exec-2.3.7.jar:2.3.7]at org.apache.hadoop.hive.ql.Driver.run(Driver.java:1237) ~[hive-exec-2.3.7.jar:2.3.7]at org.apache.hadoop.hive.ql.Driver.run(Driver.java:1227) ~[hive-exec-2.3.7.jar:2.3.7]at org.apache.hadoop.hive.cli.CliDriver.processLocalCmd(CliDriver.java:233) ~[hive-cli-2.3.7.jar:2.3.7]at org.apache.hadoop.hive.cli.CliDriver.processCmd(CliDriver.java:184) ~[hive-cli-2.3.7.jar:2.3.7]at org.apache.hadoop.hive.cli.CliDriver.processLine(CliDriver.java:403) ~[hive-cli-2.3.7.jar:2.3.7]at org.apache.hadoop.hive.cli.CliDriver.executeDriver(CliDriver.java:821) ~[hive-cli-2.3.7.jar:2.3.7]at org.apache.hadoop.hive.cli.CliDriver.run(CliDriver.java:759) ~[hive-cli-2.3.7.jar:2.3.7]at org.apache.hadoop.hive.cli.CliDriver.main(CliDriver.java:686) ~[hive-cli-2.3.7.jar:2.3.7]at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_301]at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_301]at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_301]at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_301]at org.apache.hadoop.util.RunJar.run(RunJar.java:244) ~[hadoop-common-2.10.1.jar:?]at org.apache.hadoop.util.RunJar.main(RunJar.java:158) ~[hadoop-common-2.10.1.jar:?]
2022-01-02T11:09:17,144 ERROR [0cbe2c1f-642f-4d8f-9305-e072f7ca3639 main] ql.Driver: FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.tez.TezTask

根据错误提示我点击其中的链接查看详细信息

http://Linux123:8088/cluster/app/application_1641092738683_0001

在这里插入图片描述
根本原因是计算时候yarn资源不足
该错误是YARN的虚拟内存计算方式导致,上例中用户程序申请的内存为1Gb,YARN根据此值乘以一个比例(默认为2.1)得出申请的虚拟内存的值,当YARN计算的用户程序所需虚拟内存值(当前是2.6 GB)大于计算出来的值时(2.1GB),就会报出以上错误。调节比例值可以解决该问题。具体参数为:yarn-site.xml中的yarn.nodemanager.vmem-pmem-ratio

解决方法:
调整hadoop配置文件yarn-site.xml中值:

//<property>
//   <name>yarn.scheduler.minimum-allocation-mb</name>
//   <value>2048</value>
//   <description>default value is 1024</description>
//</property>
<property><name>yarn.nodemanager.vmem-pmem-ratio</name><value>3</value><description>default value is 2.1</description>
</property>

修改所有节点重启yarn
再次hive中执行计算

hive (dws)> select app_v,count(*) from dws_member_retention_day group by app_v;
Query ID = root_20220102110741_de1b700e-6f2f-493f-a495-f2d5a3676063
Total jobs = 1
Launching Job 1 out of 1
FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.tez.TezTask
hive (dws)> set hive.execution.engine;
hive.execution.engine=tez
hive (dws)> select app_v,count(*) from dws_member_retention_day group by app_v;
Query ID = root_20220102120136_1f4506fe-2ca2-4df3-b937-a99a0d4326a6
Total jobs = 1
Launching Job 1 out of 1
Status: Running (Executing on YARN cluster with App id application_1641096100742_0001)----------------------------------------------------------------------------------------------VERTICES      MODE        STATUS  TOTAL  COMPLETED  RUNNING  PENDING  FAILED  KILLED  
----------------------------------------------------------------------------------------------
Map 1 .......... container     SUCCEEDED      1          1        0        0       0       0  
Reducer 2 ...... container     SUCCEEDED      1          1        0        0       0       0  
----------------------------------------------------------------------------------------------
VERTICES: 02/02  [==========================>>] 100%  ELAPSED TIME: 15.34 s    
----------------------------------------------------------------------------------------------
OK
app_v	_c1
Time taken: 86.987 seconds

配置成功
如果想永久的配置使用tez作为计算引擎在hive中配置如下
路径/opt/lagou/servers/hive-2.3.7/conf/hive-site.xml

 <property><name>hive.execution.engine</name><value>tez</value><description>Expects one of [mr, tez, spark].Chooses execution engine. Options are: mr (Map reduce, default), tez,     spark.       While MRremains the default engine for historical reasons, it is itself a historical engineand is deprecated in Hive 2 line. It may be removed without further warning.</description></property>

再次启动我们发现hive使用的默认的Tez计算引擎

[root@Linux122 ~]# hive
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/opt/lagou/servers/tez/lib/slf4j-log4j12-1.7.10.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/opt/lagou/servers/hadoop-2.10.1/share/hadoop/common/lib/slf4j-log4j12-1.7.25.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
SLF4J: Actual binding is of type [org.slf4j.impl.Log4jLoggerFactory]Logging initialized using configuration in jar:file:/opt/lagou/servers/hive-2.3.7/lib/hive-common-2.3.7.jar!/hive-log4j2.properties Async: true
hive (default)> set hive.execution.engine;
hive.execution.engine=tez

http://chatgpt.dhexx.cn/article/8EoVmMGU.shtml

相关文章

tez得文件生成个数与什么有关?

之前研究过hive on spark&#xff0c;最后的文件生成个数hive-mapJoin和skewJoin-CSDN博客 现在在cdp了 使用的是hive on tez。也在学习下这个文件的生成个数与什么有关&#xff1f; 以该表为例 有11个文件 每个差不多60M左右 总共620M左右。 我们先想下 哪些参数和生成的文件…

hive-tez

1 参考&#xff1a; https://www.freesion.com/article/9435149734/ https://blog.csdn.net/Shea1992/article/details/101041244 https://www.jianshu.com/p/9fb9f32e1f0f https://www.jianshu.com/p/45c95a51a8c2 https://blog.csdn.net/weixin_43941899/article/details/105…

CDH6.3.2搭建HIVE ON TEZ步骤

|引言 参考&#xff1a;CDH6.3.2 hive on tez搭建过程_我不是橙子的博客-CSDN博客 CDH6.3.2版本搭建Tez执行引擎过程 - 虎啸千峰 - 博客园 hive on tez集成完整采坑指南(含tez-ui及安全环境)_匆匆z2的博客-CSDN博客_hive on tez 下载过程中若是感觉慢的话可以参考这个操作步…

tez-ui docker镜像打包配置并部署K8S

一、下载tez ui安装包并修改配置文件 1.1 选择版本下载&#xff0c; tez-ui下载官方地址 mkdir tez-ui && cd tez-ui wget https://repository.apache.org/content/repositories/releases/org/apache/tez/tez-ui/0.9.1/tez-ui-0.9.1.war1.2 解压war包&#xff0c;修改…

Apache Tez 了解

转发自这位大佬博客&#xff1a;https://www.cnblogs.com/rongfengliang/p/6991020.html 你可能听说过Apache Tez&#xff0c;它是一个针对Hadoop数据处理应用程序的新分布式执行框架。但是它到底是什么呢&#xff1f;它的工作原理是什么&#xff1f;哪些人应该使用它&#xf…

Tez - 安装

一、Tez 安装 1 下载地址 https://mirrors.tuna.tsinghua.edu.cn/apache/tez/0.9.0/ 2 二进制包安装 2.1 解压并重命名 [roothadoop01 ~]# tar -zxvf /home/apache-tez-0.9.0-bin.tar.gz -C /usr/local/ [roothadoop01 ~]# mv /usr/local/apache-tez-0.9.0-bin/ /usr/local/t…

tez详解

1 tez的概览 1.1 tez介绍 1.1.1 介绍 tez是一个apache的开源项目&#xff0c;意在构建一个应用框架&#xff0c;能通过复杂任务的DAG来处理数据。它是基于当前的hadoop yarn之上&#xff0c;换句话就是yarn为其提供资源。 tez主要的两个设计目标: 增强终端用户使用: 灵活…

TEZ深入理解

简介 Tez是Apache开源的支持DAG作业的计算框架&#xff0c;是支持HADOOP2.x的重要引擎。它源于MapReduce框架&#xff0c;核心思想是将Map和Reduce两个操作进一步拆分&#xff0c;分解后的元操作可以任意灵活组合&#xff0c;产生新的操作&#xff0c;这些操作经过一些控制程序…

Tez 简介

目录 一、Tez简介 二、Tez UI界面 三、Tez 日志 一、Tez简介 1.1 Tez 是支持 DAG 作业的开源计算框架&#xff0c;它可以将多个有依赖的作业转换为一个作业从而大幅提升 DAG 作业的性能。 从本质上讲&#xff0c;Tez 组成非常简单&#xff1a; 数据处理管道引擎&#xff…

TEZ介绍及使用

TEZ介绍及使用 TEZ是什么&#xff1f; Tez是支持DAG作业的开源计算框架&#xff0c;它可以将多个有依赖的作业转换为一个作业从而大幅提升DAG 作业的性能。 Tez源于MapReduce框架&#xff0c;核心思想是将Map和Reduce两个操作进一步拆分&#xff0c;即Map被拆分成Input、Proc…

BACnet安全连接(BACnet/SC) 介绍

BACnet安全连接(BACnet/SC)是ASHRAE BACnet委员会最近发布的BACnet协议的增编。是在增编135-2016bj中介绍的。它基于一个安全的、加密的数据链路层。 专门设计以满足不同IP基础结构。对BACnet通信使用标准化的、通常已经存在的IP网络基础设施的需求正在增加&#xff0c;BACnet/…

BACnet学习笔记

BACnet是一种用于自动化建筑和控制网络的数据通信协议。(Building Automation and Control Networks) 自控网络通信协议基本体系: CAN -- 只定义了通信标准 BACnet BAC Model and Message Network Layer LANs The protocol can be viewed as a matrix of layers. Propertie…

BACnet协议简要说明及组网简介

主题概要BACnet协议BACnet协议简要说明&#xff0c;组网简介编辑时间新建20160217序号参考资料1BACnet协议正文1995版2http://www.bacnet.org/Tutorial/BACnetIP/ 1 协议说明 BACnet协议(A Data Communication Protocol for Building Automation and Control Networks)&#…

BACnet协议详解——应用层说明一

文章目录 写在前面1. 应用层模型1.1 需确认的应用层服务1.2 无需确认的应用层服务2 BACnet报文的分段2.1 报文分段规则2.1.1 APDU数据流的分段规则2.1.2 APDU最大长度的确定2.1.3 可接受的最大分段数2.2 分段协议控制信息(PCI)写在前面 年关将至,事情有点多,耽误了原本定好…

BACnet协议读取与发送

BACnet协议读取与发送 注意我的提问&#xff1a;更新开发环境BACnet相关基础知识BACnet格式BACnet代码BACnet设备查找BACnet设备读取BACnet写入操作AND其他...**BACpypes库中没有提供非标准数据类型接口&#xff01;&#xff01;&#xff01;&#xff01;&#xff01;** 结束 因…

Bacnet协议报文格式详解(一)

系统实现基于BACnet/IP&#xff08;又称B/IP&#xff09;网络进行通讯。BACnet虚拟链路层&#xff08;BVLL&#xff09;提供了BACnet网络层和某指定的通讯子系统的接口&#xff0c;本文指定了BACnet虚拟链路控制&#xff08;BVLC&#xff09;要求支持的定向和广播信息。本实现关…

bacnet (收集)

嵌入式系统中BACnet-MS/TP协议栈的实现 一个BACnet设备由一个网络号码和一个MAC地址唯一确定 bacnet MS/TP 走的是485网络 https://www.eefocus.com/mcu-dsp/226727 1 引言 20世纪90年代&#xff0c;Internet经历了爆炸性发展&#xff0c;成为垄断全球的计算机网络。以Cisc…

BACnet

BACnet通讯协议(一) BACnet协议(A Data Communication Protocol for Building Automation and Control Networks)&#xff0c;是由美国采暖、制冷和空调工程师协会&#xff08;ASHRAE&#xff09;制定的一个楼宇自动控制技术标准文件&#xff0c;BACnet协议最根本的目的是提供…

BACnet协议

BACnet协议 BACnet协议层包括物理层&#xff0c;链路层&#xff0c;网络层&#xff0c;应用层和BACnet安全层。 我们知道BACnet是用于楼宇自动化和控制网络的简短形式的数据通信协议。BACnet是主要行业供应商产品中常用的自动化和控制协议之一&#xff0c;如江森自控&#xff…

BACnet协议详解——初识BACnet架构

文章目录 BACnet协议架构BACnet简化的架构简化的四层BACnet体系结构选取BACnet 网络的拓扑结构安全最后声明BACnet协议架构 国际标准化组织在制定计算机网络通讯协议标准时定义了一个模型,称为开放系统互联参考模型(OSI(ISO 7498)。模型的目的是解决计算机与计算机之间普遍…