Hive引擎改为Tez笔记
環(huán)境:
| 組件 | 版本 |
| Hadoop | 3.1.2 |
| Hive | 3.0.0 |
| Tez | 0.9.2 |
| Zookeeper | 3.6.0 |
| Hbase | 2.2.4 |
因為我采用了hbase表格映射到hive,所以和hbase和zookeeper也有關系
#----------------下面是準備工作-----------------------
根據[7]安裝好protoc2.5
cnpm install bower
https://mirrors.bfsu.edu.cn/apache/tez/0.9.2/apache-tez-0.9.2-src.tar.gz解壓后進入根目錄:
mvn install?-Phadoop28?-Dhadoop.version=3.1.2 -DskipTests -Dmaven.javadoc.skip=true
?
| ? | pom.xml中默認版本 | 將默認版本修改為 |
| hadoop | 2.7.2 | 3.1.2 |
| jersey-client | 1.9 | 1.19 |
| jersey-json | 1.9 | 1.19 |
| guava | 11.0.2 | [11]中說這個需要修改,但是我查了下hadoop中默認就是這個版本: ./share/hadoop/hdfs/lib/guava-11.0.2.jar 所以應該是不需要在pom.xml修改的. |
| slf4j | 1.7.10 | 這個是我自己發(fā)現(xiàn)的,應該要改成1.7.25, 因為hadoop用的是: ./share/hadoop/common/lib/slf4j-api-1.7.25.jar |
按照上述表格進行修改后,開始編譯:
mvn clean package -DskipTests=true -Dhadoop.version=3.1.2 -Phadoop28 -P\!hadoop27 -Dmaven.javadoc.skip=true編譯結果可以在apache-tez-0.9.2-src/tez-dist/target/被找到。
cd?/home/appleyuchi/bigdata/apache-tez-0.9.2-src/tez-dist/target tar -xvf tez-0.9.2-minimal.tar.gz -C $TEZ_HOMEhdfs dfs -mkdir -p /apps/tez-0.9.2 hdfs dfs -chmod -R 755 /apps hdfs dfs -put tez-0.9.2.tar.gz /apps/tez-0.9.2/ hdfs dfs -chown -R appleyuchi:appleyuchi /apps hdfs dfs -chown -R 555 /apps/tez-0.9.2 hdfs dfs -chown -R 444 /apps/tez-0.9.2/tez-0.9.2.tar.gzcd $TEZ_HOME rm hadoop-shim-2.7-0.9.2.jarcd $TEZ_HOME/lib rm jersey-client-1.9.jar jersey-json-1.9.jar hadoop-mapreduce-client-common-2.7.2.jar hadoop-mapreduce-client-core-2.7.2.jar slf4j-api-1.7.10.jar slf4j-log4j12-1.7.10.jarhdfs dfs -mkdir /apps/tez-0.9.2 hdfs dfs -put tez-dist/target/tez-0.9.2.tar.gz?/apps/tez-0.9.2***************************做個小實驗驗證配置(開始)***************************
重啟hdfs,zookeeper,hbase以及metastore和hiveserver2
test.txt
foo bar foo bar foohdfs dfs -mkdir /input
hdfs dfs -mkdir /output
hdfs dfs -put ?test.txt /input
hdfs dfs -cat /input/test.txt
hadoop jar tez-examples-0.9.2.jar orderedwordcount /input /output
測試官方案例的時候,僅啟動hdfs集群即可,不需要啟動metastore以及hiveserver2
自行修改tez-site.xml以后,只需要確保$HADOOP_HOME/etc/hadoop下面以及節(jié)點之間進行同步即可,不需要重新啟動集群
只需要確保集群中各個節(jié)點的$HADOOP_HOME/etc/hadoop下面有tez-site.xml這個文件即可,$TEZ_HOME/conf下面的tez-site.xml可以刪除,實測無影響。
***************************做個小實驗驗證配置(結束)***************************
#--------------tez-ui配置-----------------------------------
下列端口必須一致
| 配置文件 | 變量名稱 | 必須一致的端口 |
| $TOMCAT/webapps/tez-ui/config/configs.env | timeline | 8188 |
| yarn-site.xml | yarn.timeline-service.webapp.address | 8188 |
| $TOMCATwebapps/tez-ui/assets/tez-ui.js | timeline | 8188 順便檢查域名,也要一致,這里是Desktop:8188 |
?
| 配置文件 | 變量名稱 | 必須一致的端口 |
| $TOMCAT/webapps/tez-ui/config/configs.env | rm | 8088 |
| yarn-site.xml | yarn.resourcemanager.webapp.address | 8088 |
| $TOMCATwebapps/tez-ui/assets/tez-ui.js | rm | 8088 |
| 配置文件 | 變量名稱 | 必須一致的端口 |
| tez-site.xml | tez.tez-ui.history-url.base | 8880 |
| $TOMCAT/conf/server.xml | ?Connector port | 8880 |
這里說下,tez-site.xml的調試的時候,需要重啟hiveserver2,否則是不會生效的。
根據[12]先部署好tomcat
注意:
如果hive沒有調試通,那么不要使用beeline+tez,因為后者很難在$HIVE_HOME/logs中找到報錯信息。
配置文件以自己的gitee為準
?
Reference:
[1]hive 使用TEZ的安裝配置
[2]Hive On Tez,Tez 和 MapReduce engine 性能對比
[3]Hive更換TEZ引擎
[4]Hive引擎替換為tez
[5]Failing because I am unlikely to write too排查方案
[6]記一發(fā)Hive on tez的配置(Hive 3.1.1, Hadoop 3.0.3, Tez 0.9.1)
[7]org.apache.maven.plugin.MojoExecutionException: protoc version is libprotoc 3.6.1, expected versio
[8]hadoop3.1集成tez和tez-ui
[9]apache-hive-3.1.1-bin、apache-tez-0.9.2-bin以及遇到的一些問題
[10]Command Line Installation
[11]Hive3.1.2+大數(shù)據引擎Tez0.9.2安裝部署到使用測試(踩坑詳情)
[12]Tomcat的安裝
?
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎勵來咯,堅持創(chuàng)作打卡瓜分現(xiàn)金大獎總結
以上是生活随笔為你收集整理的Hive引擎改为Tez笔记的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 泰拉瑞亚13怎么卡地牢箱子 汉典泰字的基
- 下一篇: linux中的archive是什么意思