配置 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

[email protected]:/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

时间: 2024-09-30 20:45:06

配置 Hive On Tez的相关文章

hive on tez配置

1.Tez简介 Tez是Hontonworks开源的支持DAG作业的计算框架,它可以将多个有依赖的作业转换为一个作业从而大幅提升MapReduce作业的性能.Tez并不直接面向最终用户--事实上它允许开发者为最终用户构建性能更快.扩展性更好的应用程序 2.编译tez 本文记录Tez 0.8.5的编译过程,之前的Tez版本都是源码包,最新的版本虽然提供了编译后的tar包,但是大部分情况下是针对特定的Hadoop版本,如果和我们的Hadoop版本不一致,可能某个时刻会出现一些未知的问题,所以为了稳定

hive on tez踩坑记1-hive0.13 on tez

最近集群准备升级到cdh5.2.0,并使用tez,在测试集群cdh5.2.0已经稳定运行了很长时间,因此开始折腾hive on tez了,期间遇到不少问题,这里记录下. hive on tez的部署比较简单,可以参考wiki.主要注意几个地方 1.编译的时候 mvn clean package -Dtar -DskipTests=true -Dmaven.javadoc.skip=true 2.需要将tez相关的包upload到hdfs中,并设置tez-site.xml   <property>

hive on tez

hive运行模式 hive on mapreduce 离线计算(默认) hive on tez  YARN之上支持DAG作业的计算框架 hive on spark 内存计算 hive on tez Tez是一个构建于YARN之上的支持复杂的DAG任务的数据处理框架.它由Hontonworks开源,它把mapreduce的过程拆分成若干个子过程,同时可以把多个mapreduce任务组合成一个较大的DAG任务,减少了mapreduce之间的文件存储,同时合理组合其子过程从而大幅提升MapReduce

hive on tez 错误记录

1.执行过程失败,报 Container killed on request. Exit code is 143 如下图: 分析:造成这种原因是由于总内存不多,而容器在jvm中占比过高,修改tez-site.xml文件,添加如下配置: <property> <name>tez.container.max.java.heap.fraction</name> <value>0.2</value> #调低内存占比,默认是0.8(也就是80%) <

hive on tez踩坑记2-hive0.14 on tez

在测试hive0.14.0 on tez时遇到的问题比较多:1.在使用cdh5.2.0+hive0.14.0+tez-0.5.0测试时,首先遇到下面的问题 java.lang.NoSuchMethodError: org.apache.tez.dag.api.client.Progress.getFailedTaskAttemptCount()I         at org.apache.hadoop.hive.ql.exec.tez.TezJobMonitor.printStatusInPl

搭建Hadoop2.7.3+Hive2.1.1及MySQL(配置Hive+MySQL+Connector)(三)

续上一篇:搭建Hadoop2.7.3+Hive2.1.1及MySQL(配置Hive+Hadoop)(二) 准备工作下载最新连接器地址 https://dev.mysql.com/downloads/connector/j/ 例子:下载mysql-connector-java-5.1.41.tar 1.解压连接器connector文件 1.1.解压 [[email protected] Software]# tar xzfmysql-connector-java-5.1.41.tar.gz [[e

安装配置hive

安装配置hive 用到的工具: mysql mysql-connector-java-5.1.22-bin.jar hive-0.12.0.tar.gz 1 安装MySQL:yum install mysql-server service mysqld start 2 使mysql开机自启: chkconfig -add mysqld ( 查看mysql的执行权限 chkconfig --list | grep mysql mysql 开机自启动(附权) chkconfig mysqld on

基于Cloudera Manager5配置HIVE压缩

[Author]: kwu 基于Cloudera Manager5配置HIVE压缩,配置HIVE的压缩,实际就是配置MapReduce的压缩,包括运行结果及中间结果的压缩. 1.基于HIVE命令行的配置 set hive.enforce.bucketing=true; set hive.exec.compress.output=true; set mapred.output.compress=true; set mapred.output.compression.codec=org.apache

Linux配置hive

1.下载HIVE压缩包 2.解压(用Xftp将压缩包上传到Linux中) tar -zxvf apache-hive-1.2.1-bin.tar.gz 3.重命名 mv apache-hive-1.2.2-bin hive 4.(hive是个工具)所以解压之后 在bin中启动服务 启动命令为./hive 5.建数据库 hive>create database wk110; 6.建表 hive>create table t_first (id int, name string,salary st