tez hive llap安装
版本 hive2.1.0 + hadoop2.7.2 + tez0.8.4
hive llap 是基于tez的一种近实时查询方案。我用的是apache版的,所以第一步是需要对hive和tez进行编译,以使他们的版本适配。测试中发现,如果要想使用hive llap,则hive和tez版本必须基于正确的版本编译。
软件编译工作:
hive安装
下载hive2.1.0源码,修改pom.xml ,将hadoop.version 修改为2.7.2,tez版本修改为0.8.4.(hive2.1.0版本默认的tez版本是0.8.3,支持0.8.4,但是与tez0.8.5不兼容)
编译hive
mvn clean package -DskipTests -Pdist
hive安装此处略过。
tez安装
(1)下载tez0.8.4源码,修改pom.xml,,将hadoop.version 修改为2.7.2。修改tez-ui,tez-ui2目录下的pom.xml,修改如下参数,负责可能编译tez-ui或者tez-ui2报错。
<nodeVersion>v6.10.3</nodeVersion>
<npmVersion>3.10.10</npmVersion>
(2)编译tez:
mvn clean package -DskipTests=true -Dmaven.javadoc.skip=true
(3)在apache-tez-0.8.4-src/tez-dist/target目录下,有如下文件:
archive-tmp maven-archiver tez-0.8.4 tez-0.8.4-minimal tez-0.8.4-minimal.tar.gz tez-0.8.4.tar.gz tez-dist-0.8.4-tests.jar
这里需要使用tez-0.8.4-minimal.tar.gz
(4)将tez-0.8.4-minimal.tar.gz上传到hdfs上/tmp/lgh/tez0.8.4目录下
(5)在客户端安装tez-0.8.4-minimal,并且在conf目录下建立tez-site.xml并正确配置
<property>
<name>tez.lib.uris</name>
<value>hdfs://testhadoop/tmp/lgh/tez0.8.4/tez-0.8.4-minimal.tar.gz</value>
</property>
<property>
<name>tez.use.cluster.hadoop-libs</name>
<value>true</value>
</property>
6.在hive的客户端配置环境变量 (可以配置到/etc/profile位置,也可以配置到hive-env.sh中)
export TEZ_HOME=/usr/local/tez
export TEZ_CONF_DIR=/usr/local/tez/conf
export TEZ_JARS=/usr/local/tez/
export HADOOP_CLASSPATH=
7.测试 set hive.exectuion.engine=tez;跑一个简单的count的sql。可以看到hive on tez已经可以跑成功了。
8.tez-ui设置详见之前的博客:http://blog.csdn.net/zhoudetiankong/article/details/52239555
slider安装
我使用的slider版本是0.92.0-incubating。
下载并解压,配置slider-clinet.xml 以及slider-env.sh,此处配置比较简单。
slider-env.sh配置
export HADOOP_CONF_DIR=/home/hadoop/apache-hadoop/hadoop/etc/hadoop(换成自己的目录)
slider-clinet.xml配置:
hadoop.registry.zk.quorum,以及yarn.resourcemanager.address是必须配置的
运行slider version以及slider list来验证安装是否成功
hive llap是通过slider来部署的。
llap安装
(1)设置hive-site.xml
<property>
<name>hive.execution.mode</name>
<value>llap</value>
</property>
<property>
<name>hive.llap.execution.mode</name>
<value>all</value>
</property>
<property>
<name>hive.llap.daemon.service.hosts</name>
<value>@llap_service</value>
</property>
<property>
<name>hive.zookeeper.quorum</name>
<value>mtime-bigdata00</value>
</property>
<property>
<name>hive.zookeeper.client.port</name>
<value>2181</value>
</property>
<property>
<name>hive.llap.daemon.memory.per.instance.mb</name>
<value>4096</value>
</property>
<property>
<name>hive.llap.daemon.num.executors</name>
<value>2</value>
</property>
(2)运行
hive –service llap –name llap_service –instances 2 –size 4g
(3)
然后执行./llap-slider-12Jun2017/run.sh,(测试发现必须这么执行,如果cd llap-slider-12Jun2017,再执行会报错)
查看yarn:
测试运行: