Hive配置Tez引擎踩坑


框架版本

Hadoop 2.7.7
Hive 2.3.7
Tez 0.9.2

保證hadoop集群啟動,hive元數據服務啟動

上傳tez到HDFS

tar -zxvf apache-tez-0.9.2-bin.tar.gz 
mv apache-tez-0.9.2-bin tez-0.9.2
hdfs dfs -mkidr /tez
hdfs dfs -put tez-0.9.2 /tez
#這里tez可以直接上文件,也可以上傳解壓后的文件

配置hive-env.sh

export TEZ_HOME=/opt/tez-0.9.2    #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= 
#配置外部Jar包,如LZO等

配置hive-site.xml

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

最后在hive/conf下創建並配置tez-site.xml

<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<property>
	<name>tez.lib.uris</name>    
	<value>${fs.defaultFS}/tez/tez-0.9.2,${fs.defaultFS}/tez/tez-0.9.2/lib</value>
        <!--  指定依賴位置  -->
</property>
<property>
	<name>tez.lib.uris.classpath</name>    	
	<value>${fs.defaultFS}/tez/tez-0.9.2,${fs.defaultFS}/tez/tez-0.9.2/lib</value>
        <!--  實測這項配置非必須  -->
</property>
<property>
     <name>tez.use.cluster.hadoop-libs</name>
     <value>true</value>
</property>
<property>
     <name>tez.history.logging.service.class</name>        
     <value>org.apache.tez.dag.history.logging.ats.ATSHistoryLoggingService</value>
</property>
</configuration>

啟動hive

java.lang.NoClassDefFoundError: org/apache/tez/dag/api/SessionNotRunning
顯示會話服務無法開啟

解決方法:將 tez-0.9.7和 tez-0.9.7/lib下Jar包復制到 hive/lib下即可解決

或者使用這套思路應該也可以解決 Exception in thread main java.lang.NoClassDefFoundError: org/apache/tez/dag/api/TezConfiguration

再次啟動hive,跳出以下異常,顯示找不到tez.lib.uris即tez-site.xml位置

org.apache.tez.dag.api.TezUncheckedException: Invalid configuration of tez jars, tez.lib.uris is not defined in the configuration

解決方法:保證 /hive/conf 或/haoodp 2.7.7/etc/hadoop 下有編輯好的tez-site.xml文件即可


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM