hive on tez安装使用 参考手册
2016-06-30 00:00
239 查看
摘要: 本文档主要描述Tez编译、Hive集成Tez配置、测试Tez。
本文档编写时集群环境为:Hadoop2.7.0、Hive1.2.1、Maven3
由于官网没有提供二进制安装包,需要用户下载源码自行编译,这里使用的编译工具是Maven3,编译过程中可能会出现内存不够的情况,给Maven增加使用内存即可解决。
[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/
(1) 丰富的数据流(dataflow,NOT Streaming!)编程接口;
(2) 扩展性良好的“Input-Processor-Output”运行模型;
(3) 简化数据部署(充分利用了YARN框架,Tez本身仅是一个客户端编 程库,无需事先部署相关服务)
(4) 性能优于MapReduce
(5) 优化的资源管理(直接运行在资源管理系统YARN之上)
(6) 动态生成物理数据流(dataflow)
Ø Hadoop2.2 或Hadoop2.2+
Ø protobuf250
Ø Maven3+
Ø Hadoop、Hive、Zookeeper、Mysql服务正常。
$ 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
经过漫长等待,终于编译完成。
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>
将$TEZ_HOME/tez-dist/target/tez-0.5.3下的
所有jar包和lib下的所有jar包拷贝到$HIVE_HOME/lib目录下。
u 设置hive作业的执行引擎为tez
命令:hive> set hive.execution.engine=tez;
如需将作业执行引擎切换为MapReduce,在执行hql之前,设置
hive> set hive.execution.engine=mr;即可。
此时可以在yarn的控制台看到有一个tez长连接的任务,如图3-1
图3-1
运行结果如下图3-2:
图3-2
至此,hive on tez 基本操作演示完毕,关于tez更详细资料请阅读官网资料:http://tez.apache.org/index.html
本文档编写时集群环境为: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/hiveu 设置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
相关文章推荐
- Thread,Runnable,Callable. 多线程
- 纪录的开始
- 综合Singleton
- maven在Mac下安装和使用
- git命令
- java基础 多线程
- 实例变量与线程安全 synchronized
- 实例变量与线程安全volatile
- Android简易老虎机(转动式)
- 实例变量与线程安全 原子类的操作
- 线程间的通信
- 是时候开启我的第一个博客了。
- 准备总结的知识点。
- Linux下Java安装与配置
- 索引的细节
- mysqlbinlog 查看mysql bin 日志
- 解决用户 'sa' 登录失败。原因: 未与信任 SQL Server 连接相关联
- 常见布局、文件读写权限、xml解析、SharedPreference
- 安卓目录结构及短信电话例子
- AngularUI Router学习笔记