Hive llap服务安装说明及测试

1.简介说明

apache hive去年12月发布了2.1.1版本,从Hive 2.0引入了LLAP(Live Long And Process),2.1进行了比较大的优化,可以说hive已经走向了内存计算,目前hortonworks测试llap +tez比hive1.x快了25倍,禁不住诱惑来玩一下

2.LLAP安装

2.1依赖

Hive llap服务安装依赖先安装tez,和slider,所以安装llap前先安装并测试好tez和slider;

2.2配置

以下是hive-site.xml配置

 

     hive.execution.engine

     tez

 

  

 

     hive.llap.execution.mode

     all

 

   

 

     hive.execution.mode

     llap

 

 

 

     hive.llap.daemon.service.hosts

     @llap_service

 

 

     hive.zookeeper.quorum

     hd21:2181,hd22:2181,hd23:2181

 

 

     hive.llap.daemon.memory.per.instance.mb

     25600

 

 

 

     hive.llap.daemon.num.executors

     8

 

 

 

 

 

 

     hive.server2.tez.default.queues

     root.storm

 

 

     hive.server2.tez.initialize.default.sessions

     true

 

 

     Set to the number of concurrent queries to run on the queues that      

           are configured by hive.server2.tez.default.queues. This setting launches

           long-running Tez AMs (sessions).

    

     hive.server2.tez.sessions.per.default.queue

     2

 

2.3特殊注意

   先检查python版本,别低于2.5最好2.7.X吧,然后进入hive2.1.1主目录下的scripts/llap/bin目录下,编辑runLlapDaemon.sh启动脚本,在CLASSPATH变量中加入`hadoop classpath`,即加入hadoop的环境路径,避免出现找不到相关类库的而导致的启动失败,如下:

3.启动服务

hive --service llap --name llap_service --instances 5 --size 25g --loglevel INFO  --cache 10g --executors 10 --iothreads 10 --slider-am-container-mb 1024 --args " -XX:+UseG1GC -XX:+ResizeTLAB -XX:+UseNUMA -XX:-ResizePLAB"

启动服务的选项如下:

Hive llap服务安装说明及测试_第1张图片

启动成功:

Hive llap服务安装说明及测试_第2张图片

启动后会生成一个如下的文件夹:

进入可以看到有四个文件

其中run.sh这个启动shell就只是用slider来提交llapyarn的脚本./run.sh即可启动到yarn中,启动后,可以看到yarn中的application如下:

Hive llap服务安装说明及测试_第3张图片

RUNNING状态表示启动运行成功;

查看nodemanager节点可以看到有相应的daemon进程如下:


启动tez作业如下:

Hive llap服务安装说明及测试_第4张图片
查看tez作业AM的资源情况可以看到tez的task都运行在llap中,只有am独立container运行;

从性能效率看,llap确实有了明显的提升,一个分区聚合数据和union相应另一个分区操作,数据100g,从资源时间消耗资源角度看资源减少了2倍,执行时间效率上提升了6倍,后面有空可以参照tpc-ds_v2.4.0做一些较全面的性能测试;

停止llap只用执行slider stop llap_service即可;

最后说一下llap是长驻yarn资源的,直到停止llap,所以应用场景来说要看作业量和集群资源使用率来权衡应用,确实感到惊喜hive走到这一步;





你可能感兴趣的:(hive)