配置 Hive On Tez

配置 Hive On Tez

标签(空格分隔): hive


Tez 部署底层应用

简单介绍

介绍:tez 是基于hive 之上,可以将sql翻译解析成DAG计算的引擎。基于DAG 与mr 架构本身的优缺点,tez 本身经过测试一般小任务在hive mr 的2-3倍速度左右,大任务7-10倍左右,根据情况不同可能不一样。

对于 Tez-0.9.0 以及更高版本, Tez 需要 Apache Hadoop 版本为 2.7.0 或更高

安装 Apache Hadoop 2.7.0 或更高版本,这里选取Tez-0.9.1 版本,在Centos 系统上编译,需要通外网,编译环境准备需要按照之前:

@https://www.cnblogs.com/hit-zb/p/10643240.html

Apache tez 官网:https://tez.apache.org/

Apache Tez 0.9.1 下载地址:@http://mirror.bit.edu.cn/apache/tez/0.9.1/apache-tez-0.9.1-src.tar.gz

编译 tez

编译环境准备完毕的情况下:

cd apache-tez-0.9.0-src
mvn clean package -DskipTests=true -Dmaven.javadoc.skip=true

关于maven 的更多使用方法 ,请见:@https://yuzhouwan.com/posts/2254/

安装Tez 到hive

拷贝 tez 相关 tarball 到 HDFS, 并且配置 tez-site.xml

cd apache-tez-0.9.0-src/tez-dist/target


ls
archive-tmp  maven-archiver  tez-0.9.0  tez-0.9.0-minimal  tez-0.9.0-minimal.tar.gz  tez-0.9.0.tar.gz  tez-dist-0.9.0-tests.jar

我们需要将tez-0.9.0-minimal.tar.gz 拷贝到HDFS 中某目录下

hadoop fs -mkdir /app/
hadoop fs -copyFromLocal tez-dist/target/tez-x.y.z-minimal.tar.gz /app/

确保 tez.use.cluster.hadoop-libs 不被设置在 tez-site.xml 中, 如果设置了那么值应该为 false

将tez-0.9.0.tar.gz 移动到本地 /app/tez 相当于与 app/hive

同级别。tez 为link (软连接)
tez-site.xml

deploy@VECS00540:/app/apache-tez-0.9.0/conf$ cat tez-site.xml 
<configuration>
    <property>
        <name>tez.lib.uris</name>
        <value>hdfs://flashHadoop/user/tez/tez.tar.gz</value>  <!-- 这里指向hdfs上的tez.tar.gz包 -->
    </property>
    <property>
        <name>tez.use.cluster.hadoop-libs</name>
        <value>true</value>
    </property>
    <property>
        <name>tez.runtime.compress</name>
        <value>false</value>
    </property>
    <property>
        <name>tez.runtime.compress.codec</name>
        <value>org.apache.hadoop.io.compress.SnappyCodec</value>
    </property>
    
    以下忽略,tez-ui 使用
<property>
    <name>tez.history.logging.service.class</name>
      <value>org.apache.tez.dag.history.logging.ats.ATSHistoryLoggingService</value>
 </property>

<property>
    <name>tez.tez-ui.history-url.base</name>
      <value>http://VECS01121:8080/tez-ui/</value>
 </property>

<property>
    <name>tez.am.tez-ui.history-url.template</name>
    <value>__HISTORY_URL_BASE__/#/tez-app/__APPLICATION_ID__</value>
  </property>
  <property>
    <name>tez.am.acls.enabled</name>
    <value>false</value>
  </property>

</configuration>

配置客户端节点的 hadoop classpath 包含 tez-libraries 到 hadoop classpath 中

export HADOOP_CLASSPATH=${HADOOP_CLASSPATH}:${TEZ_HOME}/*:${TEZ_CONF_DIR}:${TEZ_HOME}/lib/*

当设置 classpath 路径中有包含 jars 的目录, 注意 “*” 是非常重要的
在 tez-examples.jar 中有使用 MRR 的基础示例, 参照源码的 OrderedWordCount.java, 运行示例: …
可以使用类似以下示例提交 MR 作业 …

hive> set hive.execution.engine=tez;
hive> 
问题:

1, tez-ui 编译失败, 从 apache 下载已编译好的包使用了算
2,tez 大任务oom.设置不检查虚拟内存或者调大与物理内存比例解决.

转载于:https://www.cnblogs.com/hit-zb/p/10859347.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值