本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用 Hive Live Long 和 程序 (LLAP)
Amazon EMR 6.0.0 支援 Hive 的 Live Long 和 Process (LLAP) 功能。 LLAP使用具有智慧型記憶體內快取的持久性協助程式,相較於先前的預設 Tez 容器執行模式,可改善查詢效能。
Hive LLAP 協助程式會以YARN服務的形式受管並執行。由於YARN服務可以被視為長時間執行YARN的應用程式,因此您的一些叢集資源專用於 Hive,LLAP不能用於其他工作負載。如需詳細資訊,請參閱 LLAP
在 Amazon LLAP上啟用 Hive EMR
若要在 Amazon LLAP上啟用 HiveEMR,請在啟動叢集時提供下列組態。
[
{
"Classification": "hive",
"Properties": {
"hive.llap.enabled": "true"
}
}
]
如需詳細資訊,請參閱設定應用程式。
根據預設,Amazon 會將約 60% 的叢集YARN資源EMR配置給 Hive LLAP 協助程式。您可以設定配置給 Hive 的叢集YARN資源百分比,LLAP以及要考慮用於 Hive LLAP配置的任務和核心節點數量。
例如,下列組態會在三個任務或核心節點上LLAP以三個協助程式啟動 Hive,並將三個核心或任務節點的 40% YARN 資源配置給 Hive LLAP 協助程式。
[
{
"Classification": "hive",
"Properties": {
"hive.llap.enabled": "true",
"hive.llap.percent-allocation": "0.4",
"hive.llap.num-instances": "3"
}
}
]
您可以在 分類中使用下列hive-site
組態API來覆寫預設LLAP資源設定。
屬性 | 描述 |
---|---|
hive.llap.daemon.yarn.container.mb | LLAP 協助程式容器大小總計 (MB) |
hive.llap.daemon.memory.per.instance.mb |
LLAP 協助程式容器中執行器使用的總記憶體 (以 MB 為單位) |
hive.llap.io.memory.size |
LLAP 輸入/輸出的快取大小 |
hive.llap.daemon.num.executors |
每個LLAP協助程式的執行器數量 |
在叢集LLAP上手動啟動 Hive
使用的所有相依性和組態LLAP都會封裝在 tar LLAP 封存中,做為叢集啟動的一部分。如果 使用 LLAP啟用"hive.llap.enabled": "true"
,我們建議您使用 Amazon EMR重新設定對 進行組態變更LLAP。
否則,對於 的任何手動變更hive-site.xml
,您必須使用 hive --service llap
命令來重建 tar LLAP 封存,如下列範例所示。
# Define how many resources you want to allocate to Hive LLAP
LLAP_INSTANCES=<how many llap daemons to run on cluster>
LLAP_SIZE=<total container size per llap daemon>
LLAP_EXECUTORS=<number of executors per daemon>
LLAP_XMX=<Memory used by executors>
LLAP_CACHE=<Max cache size for IO allocator>
yarn app -enableFastLaunch
hive --service llap \
--instances $LLAP_INSTANCES \
--size ${LLAP_SIZE}m \
--executors $LLAP_EXECUTORS \
--xmx ${LLAP_XMX}m \
--cache ${LLAP_CACHE}m \
--name llap0 \
--auxhbase=false \
--startImmediately
檢查 Hive LLAP 狀態
使用以下命令透過 Hive 檢查 LLAP Hive 的狀態。
hive --service llapstatus
使用下列命令,LLAP使用 檢查 Hive 的狀態YARN。
yarn app -status (name-of-llap-service)
# example:
yarn app -status llap0 | jq
啟動或停止 Hive LLAP
由於 Hive 以持久性YARN服務LLAP執行,因此您會停止或重新啟動YARN服務,以停止或重新啟動 Hive LLAP。下列命令示範了這一點。
yarn app -stop llap0
yarn app -start llap0
調整 Hive LLAP 協助程式的數量
使用下列命令來減少LLAP執行個體的數量。
yarn app -flex llap0 -component llap -1
如需詳細資訊,請參閱 Flex a component of a service