Este tópico descreve em detalhes os principais arquivos e parâmetros de configuração do Livy para ajudar você a configurar corretamente o Livy Gateway e utilizar os recursos relacionados no Alibaba Cloud EMR Serverless Spark.
spark-defaults.conf
Finalidade
O arquivo spark-defaults.conf define os parâmetros padrão para jobs do Spark enviados por meio do Livy Gateway. Ao criar sessões ou jobs em lote do Livy, esses valores são aplicados automaticamente caso nenhum parâmetro específico seja definido explicitamente.
Exemplo de configuração
Veja abaixo algumas configurações comuns de parâmetros padrão.
spark.driver.cores 2
spark.driver.memory 7g
spark.dynamicAllocation.enabled true
spark.dynamicAllocation.initialExecutors 2
spark.dynamicAllocation.maxExecutors 100
spark.dynamicAllocation.minExecutors 1
Descrição dos parâmetros:
spark.driver.coresespark.driver.memory: Definem o número de núcleos de CPU e o tamanho da memória do Driver.-
Parâmetros relacionados à alocação dinâmica de recursos:
spark.dynamicAllocation.enabled=true: Ativa a alocação dinâmica de recursos.spark.dynamicAllocation.minExecutorsespark.dynamicAllocation.maxExecutors: Limitam os números mínimo e máximo de Executors.spark.dynamicAllocation.initialExecutors: Quantidade inicial de Executors alocados.
Parâmetros aprimorados suportados
Os parâmetros aprimorados suportados referem-se a recursos adicionais ou itens de configuração estendidos fornecidos pelo Alibaba Cloud EMR Serverless Spark para melhorar a segurança, a flexibilidade ou o desempenho do sistema. Esses parâmetros geralmente são projetados para cenários específicos (como ambientes multilocatário, gerenciamento de permissões etc.) e ajudam você a controlar melhor o comportamento das tarefas e a alocação de recursos.
|
Parâmetro |
Descrição |
|
|
Especifique o usuário proxy ao enviar jobs do Spark. O valor padrão é Este parâmetro só tem efeito quando |
livy.conf
Finalidade
O arquivo livy.conf é o principal arquivo de configuração do Livy. Ele define o comportamento global do Livy Gateway, incluindo métodos de autenticação, configurações de tempo limite, gerenciamento de sessões, entre outros.
Principais parâmetros
|
Parâmetro |
Descrição |
|
|
Indica se permite que usuários representem outros usuários do Spark por meio do parâmetro |
|
|
Período de tempo limite da sessão. Sessões inativas que excederem esse tempo serão fechadas automaticamente. O valor padrão é |
|
|
Defina se o sistema deve verificar sessões com tempo expirado. O valor padrão é Se definido como |
|
|
Determina se sessões ocupadas devem ser ignoradas durante a verificação de tempo limite. Se ignoradas, sessões em execução não serão fechadas. O valor padrão é |
|
|
Especifique o método de autenticação do Livy Gateway. Por exemplo, defina como |
|
|
Endereço LDAP. Exemplo: |
|
|
DN base do LDAP. Exemplo: |
|
|
Defina se a criptografia TLS deve ser ativada para LDAP. O valor padrão é |
|
|
Método de autenticação de segurança LDAP. O valor padrão é |
|
|
Tempo de retenção na memória para sessões concluídas. O valor padrão é |
|
|
Número máximo de sessões criadas simultaneamente. O valor padrão é |
|
|
Limita o número de sessões que cada usuário pode criar. Este parâmetro entra em vigor apenas quando |
livy-client.conf
Finalidade
O arquivo livy-client.conf define os parâmetros de tempo de execução do cliente HTTP do Livy, usados principalmente para otimizar a interação entre o cliente e o Livy Gateway.
Principais parâmetros
|
Parâmetro |
Descrição |
|
|
Quantidade máxima de instruções retidas na memória da sessão. O valor padrão é 100. |
|
|
Número máximo de linhas retornadas pelo interpretador SQL. O valor padrão é 1000. |
spark-blacklist.conf
Finalidade
O arquivo spark-blacklist.conf restringe parâmetros que os usuários não têm permissão para substituir em tarefas enviadas pelo Livy Gateway. O sistema ignora forçosamente os parâmetros listados na lista de bloqueios, impedindo que os usuários os modifiquem.
Exemplo de configuração
Veja abaixo alguns exemplos de parâmetros comuns incluídos na lista de bloqueios.
spark.driver.cores
spark.driver.memory
spark.executor.cores
spark.executor.memory
Essa configuração indica que os usuários não podem definir por conta própria os recursos (como núcleos de CPU e tamanho de memória) para o Driver e os Executors do Spark, evitando assim o uso indevido de recursos.
Parâmetros aprimorados suportados
O arquivo spark-blacklist.conf também suporta os seguintes parâmetros aprimorados para aumentar ainda mais a segurança e a estabilidade dos jobs.
|
Parâmetro |
Descrição |
|
|
Impede que usuários definam o tempo de vida (TTL) das sessões. Garante que o TTL da sessão seja gerenciado uniformemente pelos administradores, evitando desperdício de recursos ou interrupção de tarefas causados pela definição de um TTL muito longo ou muito curto pelos usuários. |
|
|
Bloqueia a definição da fila para envio de jobs pelos usuários. Todos os jobs utilizam a fila padrão do Livy Gateway, evitando alocação desigual de recursos decorrente da escolha arbitrária de filas pelos usuários. |
|
|
Proíbe que usuários configurem o usuário proxy. O padrão é o usuário root. |