Utilisation de Live Long and Process (LLAP) de Hive - Amazon EMR

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Utilisation de Live Long and Process (LLAP) de Hive

Amazon EMR 6.0.0 prend en charge la fonctionnalité Live Long and Process (LLAP) pour Hive. LLAP utilise des démons persistants avec une mise en cache intelligente en mémoire pour améliorer les performances des requêtes par rapport au mode d'exécution précédent du conteneur Tez par défaut.

Les démons Hive LLAP sont gérés et exécutés en tant que service YARN. Étant donné qu'un service YARN peut être considéré comme une application YARN longue durée, certaines de vos ressources de cluster sont dédiées à Hive LLAP et ne peuvent pas être utilisées pour d'autres charges de travail. Pour plus d'informations, consultez LLAP et API YARN Service.

Activer Hive LLAP sur Amazon EMR

Pour activer Hive LLAP sur Amazon EMR, fournissez la configuration suivante lorsque vous lancez un cluster.

[ { "Classification": "hive", "Properties": { "hive.llap.enabled": "true" } } ]

Pour plus d'informations, consultez Configuration des applications.

Par défaut, Amazon EMR alloue environ 60 % des ressources YARN de cluster aux démons Hive LLAP. Vous pouvez configurer le pourcentage de ressource YARN de cluster allouée à Hive LLAP et le nombre de tâches et de nœuds principaux à prendre en compte pour l'allocation LLAP Hive.

Par exemple, la configuration suivante démarre Hive LLAP avec trois démons sur trois nœuds de tâches ou nœuds principaux et alloue 40 % de la ressource YARN de ces trois nœuds aux démons LLAP Hive.

[ { "Classification": "hive", "Properties": { "hive.llap.enabled": "true", "hive.llap.percent-allocation": "0.4", "hive.llap.num-instances": "3" } } ]

Vous pouvez utiliser les configurations hive-site suivantes dans l'API de classification pour remplacer les paramètres de ressource LLAP par défaut.

Propriété Description
hive.llap.daemon.yarn.container.mb Taille totale du conteneur du démon LLAP (en Mo)
hive.llap.daemon.memory.per.instance.mb

Mémoire totale utilisée par les exécuteurs dans le conteneur de démon LLAP (en Mo)

hive.llap.io.memory.size

Taille du cache pour l'entrée ou la sortie LLAP

hive.llap.daemon.num.executors

Nombre d'exécuteurs par démon LLAP

Démarrez manuellement le LLAP de Hive sur votre cluster.

Toutes les dépendances et configurations utilisées par LLAP sont compressées dans l'archive tar LLAP dans le cadre du démarrage du cluster. Si LLAP est activé avec "hive.llap.enabled": "true", nous vous recommandons d'utiliser la reconfiguration Amazon EMR pour apporter des modifications à la configuration LLAP.

Sinon, pour toute modification manuelle de hive-site.xml, vous devez reconstruire l'archive tar LLAP à l'aide de la commande hive --service llap, comme le montre l'exemple suivant.

# 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

Contrôle de statut de LLAP de Hive

Utilisez la commande suivante pour vérifier l'état de Hive LLAP via Hive.

hive --service llapstatus

Utilisez la commande suivante pour vérifier l'état de Hive LLAP à l'aide de YARN.

yarn app -status (name-of-llap-service) # example: yarn app -status llap0 | jq

Démarrage ou arrêt de LLAP de Hive

Étant donné que le LLAP de Hive s'exécute en tant que service YARN permanent, vous devez arrêter ou redémarrer le service YARN pour arrêter ou redémarrer le LLAP de Hive. Les commandes suivantes illustrent ce problème.

yarn app -stop llap0 yarn app -start llap0

Redimensionner le nombre de démons LLAP Hive

Utilisez la commande suivante pour réduire le nombre d'instances LLAP.

yarn app -flex llap0 -component llap -1

Pour plus d'informations, consultez Ajustement du composant d'un service.