Usar o Live Long and Process (LLAP) do Hive
O Amazon EMR 6.0.0 é compatível com a funcionalidade Live Long and Process (LLAP) para o Hive. O LLAP usa daemons persistentes com cache inteligente na memória para melhorar o desempenho da consulta em comparação com o modo de execução do contêiner Tez padrão anterior.
Os daemons do LLAP do Hive são gerenciados e executados como um serviço do YARN. Como um serviço do YARN pode ser considerado um aplicativo do YARN de longa execução, alguns dos recursos de cluster são dedicados ao LLAP do Hive e não podem ser usados para outras cargas de trabalho. Para obter mais informações, consulte LLAP
Habilitar o LLAP do Hive no Amazon EMR
Para habilitar o LLAP do Hive no Amazon EMR, forneça a configuração a seguir ao iniciar um cluster.
[ { "Classification": "hive", "Properties": { "hive.llap.enabled": "true" } } ]
Para obter mais informações, consulte Configurar aplicações.
Por padrão, o Amazon EMR aloca cerca de 60 por cento dos recursos do YARN do cluster para daemons do LLAP do Hive. É possível configurar a porcentagem de recurso do YARN do cluster alocado ao LLAP do Hive e o número de nós core e de tarefas a serem considerados para a alocação de LLAP do Hive.
Por exemplo, a configuração a seguir inicia o LLAP do Hive com três daemons em três nós core ou de tarefa e aloca 40% do recurso do YARN dos três nós core ou de tarefa para os daemons do LLAP do Hive.
[ { "Classification": "hive", "Properties": { "hive.llap.enabled": "true", "hive.llap.percent-allocation": "0.4", "hive.llap.num-instances": "3" } } ]
É possível usar as configurações hive-site
a seguir na API de classificação para substituir as configurações de recurso do LLAP padrão.
Propriedade | Descrição |
---|---|
hive.llap.daemon.yarn.container.mb | Tamanho total do contêiner do daemon do LLAP (em MB) |
hive.llap.daemon.memory.per.instance.mb |
A memória total usada pelos executores no contêiner do daemon do LLAP (em MB) |
hive.llap.io.memory.size |
Tamanho do cache de entrada/saída do LLAP |
hive.llap.daemon.num.executors |
Número de executores por daemon do LLAP |
Iniciar manualmente o LLAP do Hive no cluster
Todas as dependências e configurações usadas pelo LLAP são empacotadas no arquivamento tar do LLAP como parte da inicialização do cluster. Se o LLAP estiver habilitado usando "hive.llap.enabled": "true"
, recomendamos que você use a reconfiguração do Amazon EMR para fazer alterações de configuração no LLAP.
Caso contrário, para qualquer alteração manual no hive-site.xml
, é necessário recriar o arquivamento tar do LLAP usando o comando hive --service llap
, conforme demonstrado no exemplo a seguir.
# 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
Verificar o status do LLAP do Hive
Use o comando a seguir para verificar o status do LLAP do Hive pelo Hive.
hive --service llapstatus
Use o comando a seguir para verificar o status do LLAP do Hive usando o YARN.
yarn app -status (name-of-llap-service) # example: yarn app -status llap0 | jq
Iniciar ou interromper o LLAP do Hive
Como o LLAP do Hive é executado como um serviço persistente do YARN, você interrompe ou reinicia serviço do YARN para interromper ou reiniciar o LLAP do Hive. Os comandos a seguir demonstram isso.
yarn app -stop llap0 yarn app -start llap0
Redimensionar o número de daemons do LLAP do Hive
Use o comando a seguir para reduzir o número de instâncias do LLAP.
yarn app -flex llap0 -component llap -1
Para obter mais informações, consulte Flex a component of a service