本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
使用 Hive Live Long and Process () LLAP
亚马逊 EMR 6.0.0 支持 Hive 的 Live Long 和 Proces LLAP s () 功能。LLAP与之前的默认 Tez 容器执行模式相比,使用具有智能内存缓存的持久守护程序来提高查询性能。
Hive LLAP 守护程序作为YARN服务进行管理和运行。由于YARN服务可以被视为长时间运行的YARN应用程序,因此您的一些集群资源专用于HiveLLAP,不能用于其他工作负载。有关更多信息,请参阅LLAP
在亚马逊上启用 Hiv LLAP e EMR
要LLAP在 Amazon 上启用 HiveEMR,请在启动集群时提供以下配置。
[ { "Classification": "hive", "Properties": { "hive.llap.enabled": "true" } } ]
有关更多信息,请参阅配置应用程序。
默认情况下,Amazon EMR 会将大约 60% 的集群YARN资源分配给 Hive LLAP 守护程序。您可以配置分配给 Hive 的群集YARN资源的百分比,LLAP以及分配给 Hive 时要考虑的任务和核心节点数量。LLAP
例如,以下配置以三个任务或核心节点上的三个守护程序启动 HiveLLAP,并将三个核心或任务节点YARN资源的 40% 分配给 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都打包到 LLAP tar 存档中。如果使用启LLAP用"hive.llap.enabled": "true"
,我们建议您使用 Amazon EMR 重新配置来LLAP更改配置。
否则,要对进行任何手动更改hive-site.xml
,必须使用hive --service llap
命令重建 LLAP tar 存档,如下例所示。
# 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
使用以下命令LLAP通过 Hive 检查 Hive 的状态。
hive --service llapstatus
使用以下命令检查 Hive LLAP 的状态。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