Hive on Tez
阿新 • • 發佈:2021-08-16
一 安裝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報錯問題
不要為了追逐,而忘記當初的樣子。