

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
<a name="emr-hive-llap"></a>

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](https://cwiki.apache.org/confluence/display/Hive/LLAP) et [API YARN Service](https://hadoop.apache.org/docs/r3.2.1/hadoop-yarn/hadoop-yarn-site/yarn-service/YarnServiceAPI.html).

## Activer Hive LLAP sur Amazon EMR
<a name="emr-llap-enable"></a>

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](https://docs.aws.amazon.com/emr/latest/ReleaseGuide/emr-configure-apps.html).

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.
<a name="emr-llap-manually"></a>

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
<a name="emr-llap-check"></a>

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
<a name="emr-llap-start"></a>

É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
<a name="emr-llap-resize"></a>

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](https://hadoop.apache.org/docs/r3.2.1/hadoop-yarn/hadoop-yarn-site/yarn-service/QuickStart.html#Flex_a_component_of_a_service). 