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 @   明明就-  阅读(306)  评论(0编辑  收藏  举报
编辑推荐:
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
· 25岁的心里话
点击右上角即可分享
微信分享提示