Hive llap服務安裝說明及測試(一)


 

Hive llap服務安裝說明及測試

 

 


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

   Ambari安裝好之后,還需要額外的兩個步驟來開啟Hive LLAP:

      1.在yarn中開啟Hive LLAP的優先使用權

    2.打開hive中的Interactive Query開發並配置相關參數

 

以下是hive-site.xml配置

<!--llap configuration-->
  <property>
     <name>hive.execution.engine</name>
     <value>tez</value>
  </property>

<!--目前llap只支持tez做為引擎--> <property> <name>hive.llap.execution.mode</name> <value>all</value> </property> <!-- 有這四個auto, none, all, map選項,表示是否在llap或者container里運行查詢,all表示讓所有的task都在llap進程內執行--> <property> <name>hive.execution.mode</name> <value>llap</value> </property> <!-- 兩個選項[container, llap],表示查詢運行在container或者llap--> <property> <name>hive.llap.daemon.service.hosts</name> <value>@llap_service</value> </property> <!-- llap_service是啟動llap服務的時候--name指定的名字,可根據情況來設置--> <property> <name>hive.zookeeper.quorum</name> <value>hd21:2181,hd22:2181,hd23:2181</value> </property> <property> <name>hive.llap.daemon.memory.per.instance.mb</name> <value>25600</value> </property> <!-- LlapDaemon內存,需要在這里指定,hive --service --instances指定遇到過失敗--> <property> <name>hive.llap.daemon.num.executors</name> <value>8</value> </property> <!-- LlapDaemon core數--> <!--如下是HiveServer2的參數,用來啟用llap的並發查詢--> <property> <name>hive.server2.tez.default.queues</name> <value>root.storm</value> </property> <property> <name>hive.server2.tez.initialize.default.sessions</name> <value>true</value> </property> <property> <description>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). </description> <name>hive.server2.tez.sessions.per.default.queue</name> <value>2</value> </property>

 

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"

 

啟動服務的選項如下:

 

 


啟動成功:

 

 

 

啟動后會生成一個如下的文件夾:

 

 

 


進入可以看到有四個文件

 

 


其中run.sh這個啟動shell就只是用slider來提交llap到yarn的腳本./run.sh即可啟動到yarn中,啟動后,可以看到yarn中的application如下:

 

 

RUNNING狀態表示啟動運行成功;

查看nodemanager節點可以看到有相應的daemon進程如下:

 

 

啟動tez作業如下:

 

 


查看tez作業AM的資源情況可以看到tez的task都運行在llap中,只有am獨立container運行;
從性能效率看,llap確實有了明顯的提升,一個分區聚合數據和union相應另一個分區操作,數據100g,從資源時間消耗資源角度看資源減少了2倍,執行時間效率上提升了6倍,后面有空可以參照tpc-ds_v2.4.0做一些較全面的性能測試;

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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM