hive 更换 tez 引擎(二)

1、下载

这里选择的版本是 0.9.2下载地址

[hadoop@hadoop1 big_source]$ tar -zxvf apache-tez-0.9.2-bin.tar.gz
[hadoop@hadoop1 big_source]$ mv apache-tez-0.9.2-bin tez-0.9.2

2、上传至 HDFS

为了使各个节点都能够使用 Tez 引擎进行计算,需要将下载好的依赖包上传至 HDFS

[hadoop@hadoop1 big_source]$ hadoop fs -mkdir /tez
[hadoop@hadoop1 big_source]$ hadoop fs -put apache-tez-0.9.2-bin.tar.gz /tez

3、修改配置

hive/conf 下新建 tez-site.xml

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
  <property>
     <!--指定要读取的tez的jar包地址 -->
     <name>tez.lib.uris</name>
     <value>${fs.defaultFS}/tez/apache-tez-0.9.2-bin.tar.gz</value>
  </property>
  <property>
     <!-- tez可使用集群的jar包 -->
     <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-env.sh 中的增加以下内容:

export TEZ_HOME=/home/hadoop/apps/big_source/tez-0.9.2
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
TEZ_JARS=${TEZ_JARS:1}
HIVE_AUX_JARS_PATH=$TEZ_JARS

hive-site.xml 中更改 hive 计算引擎为 tez

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

4、关闭虚拟内存检查

除了关闭虚拟内存检查,还需要调大内存,修改 hadoop 集群 hadoop-2.7.5/etc/hadoop/yarn-site.xml

<!-- 调大内存 -->
 <property>
        <name>yarn.scheduler.minimum-allocation-mb</name>
        <value>2048</value>
        <description>default value is 1024,yarn 的虚拟内存</description>
</property>

<!-- 关掉虚拟内存检查 -->
<property>
    <name>yarn.nodemanager.vmem-check-enabled</name>
    <value>false</value>
</property>

<property>
    <name>yarn.nodemanager.vmem-pmem-ratio</name>
    <value>3.0</value>
</property>

5、将 yarn-site.xml 分发到其他节点,并重启 hadoop 集群:

[hadoop@hadoop1 apps]$ scp hadoop-2.7.5/etc/hadoop/yarn-site.xml hadoop@192.168.131.138:/home/hadoop/apps/hadoop-2.7.5/etc/hadoop
[hadoop@hadoop1 apps]$ scp hadoop-2.7.5/etc/hadoop/yarn-site.xml hadoop@192.168.131.139:/home/hadoop/apps/hadoop-2.7.5/etc/hadoop

参考:Hive更换Tez计算引擎

原文地址:https://www.cnblogs.com/midworld/p/15646972.html