Hive on Tez 环境配置

文章目录

        • 1.上传安装包
        • 2.解压
        • 3.上传tar包到hdfs
        • 4.修改配置文件
          • 4.1tez-site.xml
          • 4.2mapred-site.xml
          • 4.3hadoop-env.sh
        • 5.远程发送配置文件
        • 6.测试Tez

1.上传安装包

这里直接选择bin包,省去编译的麻烦

put c:/apache-tez-0.9.1-bin.tar.gz

2.解压

tar -xzvf apache-tez-0.9.1-bin.tar.gz -C /home/hadoop/apps/

3.上传tar包到hdfs

首先创建一个文件夹

hdfs dfs -mkdir /user/tez

将tez文件夹里share文件夹下的tez.tar.gz上传上去

hdfs dfs -put /home/hadoop/apps/apache-tez-0.9.1-bin/share/tez.tar.gz /user/tez/

4.修改配置文件

4.1tez-site.xml
cd /home/hadoop/apps/hadoop-2.7.6/etc/hadoop

新建一个tez-site.xml,添加下面的配置

vi tez-site.xml
<configuration>
	<property>
		<name>tez.lib.urisname>
		<value>${fs.defaultFS}/user/tez/tez.tar.gzvalue>
		
	property>
	<property>
		<name>tez.container.max.java.heap.fractionname>
		
		<value>0.2value>
	property>
configuration>
4.2mapred-site.xml
vi mapred-site.xml

将mapreduce.framework.name项的value值yarn改为yarn-tez即可,保存退出


<property>
 <name>mapreduce.framework.namename>
 
 <value>yarn-tezvalue>
 <final>truefinal>
property>

如图

Hive on Tez 环境配置_第1张图片

4.3hadoop-env.sh
vi hadoop-env.sh

按G跳到最后一行,在末尾添加,TEZ_CONF_DIR与TEZ_JARS改成自己路径,剩下的直接复制即可,保存退出

TEZ_CONF_DIR=/home/hadoop/apps/hadoop-2.7.6/etc/hadoop/etc/hadoop/tez-site.xml
TEZ_JARS=/home/hadoop/apps/apache-tez-0.9.1-bin
export HADOOP_CLASSPATH=${HADOOP_CLASSPATH}:${TEZ_CONF_DIR}:${TEZ_JARS}/*:${TEZ_JARS}/lib/*

在这里插入图片描述

5.远程发送配置文件

sudo scp -r tez-site.xml hadoop02:/home/hadoop/apps/hadoop-2.7.6/etc/hadoop
sudo scp -r mapred-site.xml hadoop02:/home/hadoop/apps/hadoop-2.7.6/etc/hadoop
sudo scp -r hadoop-env.sh hadoop02:/home/hadoop/apps/hadoop-2.7.6/etc/hadoop
sudo scp -r tez-site.xml hadoop01:/home/hadoop/apps/hadoop-2.7.6/etc/hadoop
sudo scp -r mapred-site.xml hadoop01:/home/hadoop/apps/hadoop-2.7.6/etc/hadoop
sudo scp -r hadoop-env.sh hadoop01:/home/hadoop/apps/hadoop-2.7.6/etc/hadoop

6.测试Tez

首先自行重启hadoop集群,然后启动hive,我这里直接在hive启动的时候指定了引擎,也可以启动了hive再用set命令指定引擎

hive -hiveconf hive.execution.engine=tez

这里直接随便找一个表使用count聚合函数来测试,前提是表里面至少有一条数据

select count(*) from default.stu;

可以看到Tez的界面

Hive on Tez 环境配置_第2张图片

至此安装成功!

附:Hive shell脚本的使用方法

如果你每次启动hive都要设置参数,比如打印表头set hive.cli.print.header=true,本地模式set hive.exec.mode.local.auto=true那这里可以帮到你

为了让脚本在所有地方都能运行,我将脚本新建在hive的bin目录下

cd $HIVE_HOME/bin

新建一个shell脚本文件

vi hive2

可以根据需求来设置脚本内容,我这里是启动hive时设置了打印表头与指定了Tez引擎,写好之后保存退出即可

#!/bin/bash
hive --hiveconf hive.cli.print.header=true --hiveconf hive.execution.engine=tez

然后设置一下脚本的权限

chmod 764 hive2

这下就可以随处运行hive2命令了,这样就不用每次启动hive都指定参数了,觉得好用请给博主一个赞!

hive2

你可能感兴趣的:(#,Hive,hive)