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报错问题
不要为了追逐,而忘记当初的样子。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
· 25岁的心里话