使用 Hive Live Long and Process () LLAP - Amazon EMR

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

使用 Hive Live Long and Process () LLAP

亚马逊 EMR 6.0.0 支持 Hive 的 Live Long 和 Proces LLAP s () 功能。LLAP与之前的默认 Tez 容器执行模式相比,使用具有智能内存缓存的持久守护程序来提高查询性能。

Hive LLAP 守护程序作为YARN服务进行管理和运行。由于YARN服务可以被视为长时间运行的YARN应用程序,因此您的一些集群资源专用于HiveLLAP,不能用于其他工作负载。有关更多信息,请参阅LLAPYARN服务API

在亚马逊上启用 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