您的位置:首页 > 其它

hive on tez安装使用 参考手册

2016-06-30 00:00 239 查看
摘要: 本文档主要描述Tez编译、Hive集成Tez配置、测试Tez。
本文档编写时集群环境为:Hadoop2.7.0、Hive1.2.1、Maven3
由于官网没有提供二进制安装包,需要用户下载源码自行编译,这里使用的编译工具是Maven3,编译过程中可能会出现内存不够的情况,给Maven增加使用内存即可解决。

1.2 适用范围

本文档适用于大数据项目技术人员、设计人员,管理人员。

1.3 参考资料

下列资料对于本文档的编写是必不可少的。

[1] http://tez.apache.org/install.html

[2] https://cwiki.apache.org/confluence/display/Hive/Hive+on+Tez

[3] http://hortonworks.com/blog/100x-faster-hive/

2 Tez介绍

Tez是Apache开源的DAG作业的计算引擎,是为了减小Hive作业的延迟而提出的解决方案,Tez已被Hortonworks用于Hive引擎的优化,经测试,性能提升约100倍。Tez+Hive仍然采用MapReduce计算框架,但对DAG的依赖关系进行了剪裁,并将多个小作业合并成一个大作业,这样不仅作业量减少了,而且写HDFS的次数也会大大减少。

2.1 Tez的特点

总结起来,Tez有以下几个特色:

(1) 丰富的数据流(dataflow,NOT Streaming!)编程接口;

(2) 扩展性良好的“Input-Processor-Output”运行模型;

(3) 简化数据部署(充分利用了YARN框架,Tez本身仅是一个客户端编 程库,无需事先部署相关服务)

(4) 性能优于MapReduce

(5) 优化的资源管理(直接运行在资源管理系统YARN之上)

(6) 动态生成物理数据流(dataflow)

2.2 Tez和MapReduce的区别



3 安装

3.1 必要条件

Ø Java 1.6+

Ø Hadoop2.2 或Hadoop2.2+

Ø protobuf250

Ø Maven3+

Ø Hadoop、Hive、Zookeeper、Mysql服务正常。

3.2 安装/编译

Ø 下载并安装protobuf

$ wget https://protobuf.googlecode.com/files/protobuf-2.5.0.tar.bz2

$ tar jxvf protobuf-2.5.0.tar.bz2

$ ./configure

$ make

$ make install

验证是否安装成功

$ protoc --version

libprotoc 2.5.0

如出现以上信息说明protobuf安装成功。

Ø 下载并编译tez-0.5.3.tar.gz

1、下载地址http://archive.apache.org/dist/tez/0.5.3/

2、这里已经下载,并上传到服务器/usr/local目录下解压。

tar -zvf apache-tez-0.5.3-src.tar.gz

mv apache-tez-0.5.3-src tez-0.5.3

3、编译tez

进入tez目录:cd tez-0.5.3执行命令

mvn clean package -DskipTests=true -Dmaven.javadoc.skip=true

经过漫长等待,终于编译完成。

3.3 配置

3.3.1 配置tez

Ø 编译后的tez-dist/target/tez-0.5.3.tar.gz 就是我们需要的tez组件的二进制包,并将tez-0.5.3.tar.gz上传到hdfs的一个目录中

1、hadoop fs -mkdir /apps

2、hadoop fs -put tez-0.5.3.tar.gz /apps

Ø 创建tez-site.xml文件

在hadoop主节点的$HADOOP_HOME/etc/hadoop/目录下创建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}/apps/tez-0.5.3.tar.gz</value>

</property>

</configuration>

3.3.2 配置hive

l 将tez的jar包放入$HIVE_HOME/lib目录下

将$TEZ_HOME/tez-dist/target/tez-0.5.3下的



所有jar包和lib下的所有jar包拷贝到$HIVE_HOME/lib目录下。

3.4 启动hive

u 命令:$HIVE_HOME/bin/hive

u 设置hive作业的执行引擎为tez

命令:hive> set hive.execution.engine=tez;

如需将作业执行引擎切换为MapReduce,在执行hql之前,设置

hive> set hive.execution.engine=mr;即可。

4 测试Tez

4.1 执行作业

u 执行作业命令:select sum(pv) sumpv from spark_hive limit 1;

此时可以在yarn的控制台看到有一个tez长连接的任务,如图3-1



图3-1

运行结果如下图3-2:



图3-2

至此,hive on tez 基本操作演示完毕,关于tez更详细资料请阅读官网资料:http://tez.apache.org/index.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: