Hive on Tez

一 安装tez

  1.下载tez.tar

  2.安装 tar -zxvf tez-0.9.1.tar.gz -C /opt/module

  3.修改名称 mv tez-0.9.1-bin tez-0.9.1

二 在Hive中配置tez

  1.进入Hive的配置目录/opt/module/hive/conf

  2.在hive-env.sh文件中添加Tez环境变量配置和依赖包环境变量配置

  vim hive_env.sh

  添加配置如下:

# 设置Hadoop集群的安装目录
export HADOOP_HOME=/opt/module/hadoop-2.8.1 #读者自己的hadoop路径

# 设置Hive的配置文件目录
export HIVE_CONF_DIR=/opt/module/hive-3.1.2/conf  # 读者自己的hive路径

# 设置运行Tez环境所需的jar包路径
export TEZ_HOME=/opt/module/tez-0.9.1 #是读者自己的Tez的解压目录
export TEZ_JARS=""
for jar in `ls $TEZ_HOME | grep jar`; do
        export TEZ_JARS=$TEZ_JARS:$TEZ_HOME/$jar
done
for jar in `ls $TEZ_HOME/lib`; do
        export TEZ_JARS=$TEZ_JARS:$TEZ_HOME/lib/$jar
done

export HIVE_AUX_JARS_PATH=/opt/module/hadoop-2.8.1/share/hadoop/common/hadoop-lzo-0.4.20.jar$TEZ_JARS #读者自己的hadoop和lzo路径

  3.在hive-site.xml文件中添加如下配置,更改Hive引擎为Tez

<property> 
    <name>hive.execution.engine</name> 
    <value>tez</value> 
</property>

三 配置Tez

在Hive的/opt/module/hive/conf目录下创建一个tez-site.xml文件

在文件中添加如下内容:

<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
#配置 Tez 中使用的 uris 的 jar 包路径
<property>
        <name>tez.lib.uris</name>
        <value>${fs.defaultFS}/tez/tez-0.9.1,${fs.defaultFS}/tez/tez-0.9.1/lib</value>
</property>
#配置 Tez 中使用的 uris 的类路径
<property>
        <name>tez.lib.uris.classpath</name>
        <value>${fs.defaultFS}/tez/tez-0.9.1,${fs.defaultFS}/tez/tez-0.9.1/lib</value>
</property>
#是否使用 Hadoop 依赖
<property>
        <name>tez.use.cluster.hadoop-libs</name>
        <value>true</value>
</property>
#配置 Tez 自己的历史服务器
<property>
        <name>tez.history.logging.service.class</name>
        <value>org.apache.tez.dag.history.logging.ats.ATSHistoryLoggingService</value>
</property>
</configuration>

四 上传Tez到Hadoop集群

将/opt/module/tez-0.9.1上传到HDFS的/tez/目录下(注意:如果路径不是/tez,则需要修改相对应的上面配置文件中的tez的集群路径)

# hadoop创建目录
hadoop fs -mkdir /tez

# 上传tez
hadoop fs -put /opt/module/tez-0.9.1 /tez

# 查看目录
hadoop fs -ls /tez

/tez/tez-0.9.1

# 删除目录文件
hadoop fs -rm -r /tez

# 删除文件
hadoop fs -rm -f /tez/filename #filename是你文件的名称

五 测试

  1.启动hive(前提需要启动hadoop集群)

# namenode
sbin/start-dfs.sh

#ResourceManager
sbin/start-yarn.sh

# hive_metastore_service
bin/hive --service metastore &

 

  cd /opt/module/hive

  bin/hive

  2.创建库和LZO表

show database;

create database lxz_base;

use lxz_base;

create table student(id int,name string);

  3.插入数据

insert into student values(1,"zhangsan");

 

 

4.没有报错则为成功

# 查看数据
select id ,name from student;

5.登录YARN WEB查看调度引擎是否是Tez

确保Yarn集群开启

浏览器登陆:hadoop2:8088

 

 

  六 启动hive报错问题

 

 

 

posted @ 2021-08-16 15:47  明明就-  阅读(228)  评论(0编辑  收藏  举报