帅气的目录
HIVE引擎更换为TEZ并debug
什么是TEZ
- 是一个应用程序框架,该框架允许使用复杂的有向无环图来处理数据
- 构建在YARN之上
- 比MapReduce更好用
- 官网:https://tez.apache.org/
- 下载地址:https://mirrors.bfsu.edu.cn/apache/tez/
允许Hive或Pig使用Tez运行复杂的有向无环图(如图:MR多作业 VS TEZ单作业)
TEZ安装
1、解压、改名、改户主
tar -zxvf apache-tez-0.10.0-bin.tar.gz -C /opt/
cd /opt
mv apache-tez-0.10.0-bin tez
chown root:root tez
2、删除冲突的日志jar包
cd /opt/tez/lib/
mv slf4j-log4j12-1.7.10.jar slf4j-log4j12-1.7.10.jar.bak
3、上传TEZ依赖到HDFS
hadoop fs -mkdir /tez
cd /opt/tez/share
hadoop fs -put tez.tar.gz /tez/
4、在Hadoop新建tez-site.xml
vi $HADOOP_HOME/etc/hadoop/tez-site.xml
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<!-- The location of the Tez libraries which will be localized for DAGs -->
<!-- 就是之前上传到HDFS的TEZ函数库 -->
<property>
<name>tez.lib.uris</name>
<value>${fs.defaultFS}/tez/tez.tar.gz</value>
</property>
<!-- Tez容器内最大Java堆内存占比(0~1或-1),设细d防止爆内存 -->
<property>
<name>tez.container.max.java.heap.fraction</name>
<value>0.5</value>
</property>
</configuration>
5、修改Hadoop环境变量
把TEZ类的路径加到
HADOOP_CLASSPATH
vim $HADOOP_HOME/etc/hadoop/shellprofile.d/tez.sh