Propriedades de configuração do Apache Spark e do Apache Hadoop (HDFS)

Aplica-se a: SQL Server 2019 (15.x)

Importante

O complemento Clusters de Big Data do Microsoft SQL Server 2019 será desativado. O suporte para Clusters de Big Data do SQL Server 2019 será encerrado em 28 de fevereiro de 2025. Todos os usuários existentes do SQL Server 2019 com Software Assurance terão suporte total na plataforma e o software continuará a ser mantido por meio de atualizações cumulativas do SQL Server até esse momento. Para obter mais informações, confira a postagem no blog de anúncio e as opções de Big Data na plataforma do Microsoft SQL Server.

Os Clusters de Big Data dão suporte à configuração de tempo de implantação e pós-implantação dos componentes Apache Spark e Hadoop nos escopos de serviço e recurso. Os Clusters de Big Data usam os mesmos valores de configuração padrão que o respectivo projeto de software livre para a maioria das configurações. As configurações que alteramos estão listadas abaixo, com uma descrição e seu valor padrão. Além do recurso de gateway, não há nenhuma diferença entre as configurações que são definidas no escopo do serviço e no escopo do recurso.

Encontre todas as configurações possíveis e os padrões para cada um no site de documentação associada do Apache:

As configurações às quais não damos suporte também estão listadas abaixo.

Observação

Para incluir o Spark no pool de armazenamento, defina o valor booliano includeSpark no arquivo de configuração bdc.json em spec.resources.storage-0.spec.settings.spark. Confira Configurar o Apache Spark e o Apache Hadoop nos Clusters de Big Data para obter instruções.

Configurações do Spark padrão específicas dos Clusters de Big Data

As configurações do Spark abaixo são aquelas que têm padrões específicos do BDC, mas que são configuráveis pelo usuário. As configurações gerenciadas pelo sistema não estão incluídas.

Nome da Configuração Descrição Type Valor padrão
capacity-scheduler.yarn.scheduler.capacity.maximum-applications Número máximo de aplicativos no sistema que podem estar ativos simultaneamente em execução e pendentes. INT 10000
capacity-scheduler.yarn.scheduler.capacity.resource-calculator A implementação do ResourceCalculator a ser usada para comparar Recursos no agendador. string org.apache.hadoop.yarn.util.resource.DominantResourceCalculator
capacity-scheduler.yarn.scheduler.capacity.root.queues O agendador de capacidade com a fila predefinida chamada raiz. string padrão
capacity-scheduler.yarn.scheduler.capacity.root.default.capacity Capacidade da fila em percentual (%) como a capacidade mínima da fila de recursos absoluta para a fila raiz. INT 100
spark-defaults-conf.spark.driver.cores Número de núcleos a serem usados para o processo de driver, somente no modo de cluster. INT 1
spark-defaults-conf.spark.driver.memoryOverhead A quantidade de memória off-heap a ser alocada por driver no modo de cluster. INT 384
spark-defaults-conf.spark.executor.instances O número de executores para alocação estática. INT 1
spark-defaults-conf.spark.executor.cores O número de núcleos a serem usados em cada executor. INT 1
spark-defaults-conf.spark.driver.memory Quantidade de memória a ser usada para o processo do driver. string 1g
spark-defaults-conf.spark.executor.memory Quantidade de memória a ser usada pelo processo do executor. string 1g
spark-defaults-conf.spark.executor.memoryOverhead A quantidade de memória off-heap a ser alocada por executor. INT 384
yarn-site.yarn.nodemanager.resource.memory-mb Quantidade de memória física, em MB, que pode ser alocada para contêineres. INT 8192
yarn-site.yarn.scheduler.maximum-allocation-mb A alocação máxima de cada solicitação de contêiner no gerenciador de recursos. INT 8192
yarn-site.yarn.nodemanager.resource.cpu-vcores Número de núcleos de CPU que podem ser alocados para contêineres. INT 32
yarn-site.yarn.scheduler.maximum-allocation-vcores A alocação máxima de cada solicitação de contêiner no gerenciador de recursos, em termos de núcleos de CPU virtual. INT 8
yarn-site.yarn.nodemanager.linux-container-executor.secure-mode.pool-user-count O número de usuários do pool para o executor do contêiner do Linux no modo de segurança. INT 6
yarn-site.yarn.scheduler.capacity.maximum-am-resource-percent Porcentagem máxima de recursos no cluster que podem ser usados para executar os mestres do aplicativo. FLOAT 0,1
yarn-site.yarn.nodemanager.container-executor.class Executores de contêiner para um sistema operacional específico. string org.apache.hadoop.yarn.server.nodemanager.LinuxContainerExecutor
capacity-scheduler.yarn.scheduler.capacity.root.default.user-limit-factor O múltiplo da capacidade da fila que pode ser configurado para permitir que um único usuário adquira mais recursos. INT 1
capacity-scheduler.yarn.scheduler.capacity.root.default.maximum-capacity Capacidade máxima da fila em percentual (%) como um float OU como uma capacidade máxima de fila de recursos absoluta. Definir esse valor como -1 define a capacidade máxima para 100%. INT 100
capacity-scheduler.yarn.scheduler.capacity.root.default.state O estado da fila pode ser Em execução ou Parado. string RUNNING
capacity-scheduler.yarn.scheduler.capacity.root.default.maximum-application-lifetime Tempo de vida máximo de um aplicativo que é enviado para uma fila em segundos. Qualquer valor menor ou igual a zero será considerado como desabilitado. INT -1
capacity-scheduler.yarn.scheduler.capacity.root.default.default-application-lifetime Tempo de vida padrão de um aplicativo que é enviado para uma fila em segundos. Qualquer valor menor ou igual a zero será considerado como desabilitado. INT -1
capacity-scheduler.yarn.scheduler.capacity.node-locality-delay Número de oportunidades de agendamento perdidas após o qual o CapacityScheduler tenta agendar contêineres locais de rack. INT 40
capacity-scheduler.yarn.scheduler.capacity.rack-locality-additional-delay Número de oportunidades de agendamento perdidas adicionais além daquelas de nó-localidade-atraso, após o qual o CapacityScheduler tenta agendar contêineres fora do comutador. INT -1
hadoop-env.HADOOP_HEAPSIZE_MAX Tamanho máximo de heap padrão de todos os processos de JVM do Hadoop. INT 2.048
yarn-env.YARN_RESOURCEMANAGER_HEAPSIZE Tamanho do heap do Yarn ResourceManager. INT 2.048
yarn-env.YARN_NODEMANAGER_HEAPSIZE Tamanho do heap do Yarn NodeManager. INT 2.048
mapred-env.HADOOP_JOB_HISTORYSERVER_HEAPSIZE Tamanho do heap de HistoryServer de Trabalho do Hadoop. INT 2.048
hive-env.HADOOP_HEAPSIZE Tamanho do heap do Hadoop para o Hive. INT 2.048
livy-conf.livy.server.session.timeout-check Verifique o tempo limite da sessão do servidor Livy. bool true
livy-conf.livy.server.session.timeout-check.skip-busy Skip-busy (Ignorar ocupado) para Verificar o tempo limite da sessão do servidor Livy. bool true
livy-conf.livy.server.session.timeout Tempo limite para a sessão do servidor Livy em (ms/s/m | min/h/d/a). string 2h
livy-conf.livy.server.yarn.poll-interval Intervalo de sondagem para yarn no servidor Livy (ms/s/m | min/h/d/a). string 500 ms
livy-conf.livy.rsc.jars Jars RSC do Livy. string local:/opt/livy/rsc-jars/livy-api.jar,local:/opt/livy/rsc-jars/livy-rsc.jar,local:/opt/livy/rsc-jars/netty-all.jar
livy-conf.livy.repl.jars Jars de resposta do Livy. string local:/opt/livy/repl_2.11-jars/livy-core.jar,local:/opt/livy/repl_2.11-jars/livy-repl.jar,local:/opt/livy/repl_2.11-jars/commons-codec.jar
livy-conf.livy.rsc.sparkr.package Pacote SparkR RSC do Livy. string hdfs:///system/livy/sparkr.zip
livy-env.LIVY_SERVER_JAVA_OPTS Opções Java do Servidor Livy. string -Xmx2g
spark-defaults-conf.spark.r.backendConnectionTimeout Tempo limite de conexão definido pelo processo do R em sua conexão com RBackend em segundos. INT 86.400
spark-defaults-conf.spark.pyspark.python Opção Python para Spark. string /opt/bin/python3
spark-defaults-conf.spark.yarn.jars Jars do yarn. string local:/opt/spark/jars/*
spark-history-server-conf.spark.history.fs.cleaner.maxAge Idade máxima dos arquivos de histórico de trabalho antes de serem excluídos pelo limpador de histórico do sistema de arquivos em (ms/s/m | min/h/d/a). string 7d
spark-history-server-conf.spark.history.fs.cleaner.interval Intervalo de limpeza do histórico do Spark em (ms/s/m | min/h/d/a). string 12h
hadoop-env.HADOOP_CLASSPATH Define o classpath adicional do Hadoop. string
spark-env.SPARK_DAEMON_MEMORY Memória do daemon do Spark. string 2g
yarn-site.yarn.log-aggregation.retain-seconds Quando a agregação de log está habilitada, essa propriedade determina o número de segundos para manter os logs. INT 604800
yarn-site.yarn.nodemanager.log-aggregation.compression-type Tipo de compactação para agregação de log para Yarn NodeManager. string gz
yarn-site.yarn.nodemanager.log-aggregation.roll-monitoring-interval-seconds Intervalo em segundos para o Monitoramento de Rolagem na Agregação de Log do NodeManager. INT 3600
yarn-site.yarn.scheduler.minimum-allocation-mb A alocação máxima de cada solicitação de contêiner no Gerenciador de Recursos, em MBs. INT 512
yarn-site.yarn.scheduler.minimum-allocation-vcores A alocação mínima de cada solicitação de contêiner no Gerenciador de Recursos, em termos de núcleos de CPU virtual. INT 1
yarn-site.yarn.nm.liveness-monitor.expiry-interval-ms Quanto tempo aguardar até que um Gerenciador de Nó seja considerado inativo. INT 180000
yarn-site.yarn.resourcemanager.zk-timeout-ms Tempo limite da sessão "ZooKeeper" em milissegundos. INT 40000
capacity-scheduler.yarn.scheduler.capacity.root.default.acl_application_max_priority A ACL de quem pode enviar aplicativos com prioridade configurada. Por exemplo, [user={name} group={name} max_priority={priority} default_priority={priority}]. string *
includeSpark Booliano para configurar se os trabalhos do Spark podem ser executados no Pool de armazenamento. bool true
enableSparkOnK8s Booliano para configurar se o Spark deve ser habilitado no K8s, que adiciona contêineres para K8s no cabeçalho do Spark. bool false
sparkVersion A versão do Spark string 2.4
spark-env.PYSPARK_ARCHIVES_PATH Caminho para os jars do arquivo pyspark usados em trabalhos do Spark. string local:/opt/spark/python/lib/pyspark.zip,local:/opt/spark/python/lib/py4j-0.10.7-src.zip

As seções a seguir listam as configurações não compatíveis.

Configurações HDFS padrão específica dos Clusters de Big Data

As configurações HDFS abaixo são aquelas que têm padrões específicos do BDC, mas que são configuráveis pelo usuário. As configurações gerenciadas pelo sistema não estão incluídas.

Nome da Configuração Descrição Type Valor padrão
hdfs-site.dfs.replication Replicação de bloco padrão. INT 2
hdfs-site.dfs.namenode.provided.enabled Habilita o nó de nome para manipular os armazenamentos fornecidos. bool true
hdfs.site.dfs.namenode.mount.acls.enabled Defina como true para herdar ACLs (listas de controle de acesso) de repositórios remotos durante a montagem. bool false
hdfs-site.dfs.datanode.provided.enabled Habilita o nó de dados para manipular os armazenamentos fornecidos. bool true
hdfs-site.dfs.datanode.provided.volume.lazy.load Habilita a carga lenta no nó de dados para armazenamentos fornecidos. bool true
hdfs-site.dfs.provided.aliasmap.inmemory.enabled Habilita o mapa de alias na memória para armazenamentos fornecidos. bool true
hdfs-site.dfs.provided.aliasmap.class A classe usada para especificar o formato de entrada dos blocos nos armazenamentos fornecidos. string org.apache.hadoop.hdfs.server.common.blockaliasmap.impl.InMemoryLevelDBAliasMapClient
hdfs-site.dfs.namenode.provided.aliasmap.class A classe usada para especificar o formato de entrada dos blocos nos armazenamentos fornecidos para namenode. string org.apache.hadoop.hdfs.server.common.blockaliasmap.impl.NamenodeInMemoryAliasMapClient
hdfs-site.dfs.provided.aliasmap.load.retries Número de repetições no datanode para carregar o aliasmap fornecido. INT 0
hdfs-site.dfs.provided.aliasmap.inmemory.batch-size O tamanho do lote ao fazer a iteração do banco de dados de backup no aliasmap. INT 500
hdfs-site.dfs.datanode.provided.volume.readthrough Habilita o readthrough para armazenamentos fornecidos no datanode. bool true
hdfs-site.dfs.provided.cache.capacity.mount Habilita a montagem de capacidade de cache para armazenamentos fornecidos. bool true
hdfs-site.dfs.provided.overreplication.factor Fator de super-replicação para armazenamentos fornecidos. Número de blocos de cache no BDC criados por bloco HDFS remoto. FLOAT 1
hdfs-site.dfs.provided.cache.capacity.fraction Fração de capacidade de cache para o armazenamento fornecido. A fração da capacidade total no cluster que pode ser usada para armazenar em cache dados de repositórios fornecidos. FLOAT 0,01
hdfs-site.dfs.provided.cache.capacity.bytes Capacidade do cluster a ser usada como espaço em cache para blocos fornecidos, em bytes. INT -1
hdfs-site.dfs.ls.limit Limita o número de arquivos impressos por ls. INT 500
hdfs-env.HDFS_NAMENODE_OPTS Opções de Namenode do HDFS. string -Dhadoop.security.logger=INFO,RFAS -Xmx2g
hdfs-env.HDFS_DATANODE_OPTS Opções de Datanode do HDFS. string -Dhadoop.security.logger=ERROR,RFAS -Xmx2g
hdfs-env.HDFS_ZKFC_OPTS Opções de ZKFC do HDFS. string -Xmx1g
hdfs-env.HDFS_JOURNALNODE_OPTS Opções de JournalNode do HDFS. string -Xmx2g
hdfs-env.HDFS_AUDIT_LOGGER Opções do agente de auditoria do HDFS. string INFO,RFAAUDIT
core-site.hadoop.security.group.mapping.ldap.search.group.hierarchy.levels Níveis de hierarquia para o grupo de Pesquisa LDAP do Hadoop do site principal. INT 10
core-site.fs.permissions.umask-mode Modo de umask de permissão. string 077
core-site.hadoop.security.kms.client.failover.max.retries Máximo de tentativas para failover de cliente. INT 20
zoo-cfg.tickTime Tempo de Tique para a configuração "ZooKeeper". INT 2000
zoo-cfg.initLimit Tempo de Inicialização para a configuração "ZooKeeper". INT 10
zoo-cfg.syncLimit Tempo de Sincronização para a configuração "ZooKeeper". INT 5
zoo-cfg.maxClientCnxns Máximo de conexões do cliente para a configuração "ZooKeeper". INT 60
zoo-cfg.minSessionTimeout Tempo limite mínimo da sessão para a configuração "ZooKeeper". INT 4000
zoo-cfg.maxSessionTimeout Tempo limite máximo da sessão para a configuração "ZooKeeper". INT 40000
zoo-cfg.autopurge.snapRetainCount Ajustar a contagem de retenção para a configuração "ZooKeeper" de limpeza automática. INT 3
zoo-cfg.autopurge.purgeInterval Intervalo de limpeza para a configuração de "ZooKeeper" de limpeza automática. INT 0
zookeeper-java-env.JVMFLAGS Sinalizadores de JVM para o ambiente Java no "ZooKeeper". string -Xmx1G -Xms1G
zookeeper-log4j-properties.zookeeper.console.threshold Limite para o console do log4j no "ZooKeeper". string INFO
zoo-cfg.zookeeper.request.timeout Controla o tempo limite de solicitação "ZooKeeper" em milissegundos. INT 40000
kms-site.hadoop.security.kms.encrypted.key.cache.size Tamanho do cache para chave criptografada no kms do Hadoop. INT 500

Configurações de gateway padrão específicas dos Clusters de Big Data

As configurações de gateway abaixo são aquelas que têm padrões específicos do BDC, mas que são configuráveis pelo usuário. As configurações gerenciadas pelo sistema não estão incluídas. As configurações de gateway só podem ser configuradas no escopo do recurso.

Nome da Configuração Descrição Type Valor padrão
gateway-site.gateway.httpclient.socketTimeout Tempo limite de soquete para cliente HTTP no gateway em (ms/s/m). string 90s
gateway-site.sun.security.krb5.debug Depuração da segurança do Kerberos. bool true
knox-env.KNOX_GATEWAY_MEM_OPTS Opções de memória do Gateway Knox. string -Xmx2g

Configurações do Spark sem suporte

As configurações spark a seguir não são compatíveis e não podem ser alteradas no contexto do cluster de Big Data.

Categoria Subcategoria Arquivo Configurações não compatíveis
yarn-site yarn-site.xml yarn.log-aggregation-enable
yarn.log.server.url
yarn.nodemanager.pmem-check-enabled
yarn.nodemanager.vmem-check-enabled
yarn.nodemanager.aux-services
yarn.resourcemanager.address
yarn.nodemanager.address
yarn.client.failover-no-ha-proxy-provider
yarn.client.failover-proxy-provider
yarn.http.policy
yarn.nodemanager.linux-container-executor.secure-mode.use-pool-user
yarn.nodemanager.linux-container-executor.secure-mode.pool-user-prefix
yarn.nodemanager.linux-container-executor.nonsecure-mode.local-user
yarn.acl.enable
yarn.admin.acl
yarn.resourcemanager.hostname
yarn.resourcemanager.principal
yarn.resourcemanager.keytab
yarn.resourcemanager.webapp.spnego-keytab-file
yarn.resourcemanager.webapp.spnego-principal
yarn.nodemanager.principal
yarn.nodemanager.keytab
yarn.nodemanager.webapp.spnego-keytab-file
yarn.nodemanager.webapp.spnego-principal
yarn.resourcemanager.ha.enabled
yarn.resourcemanager.cluster-id
yarn.resourcemanager.zk-address
yarn.resourcemanager.ha.rm-ids
yarn.resourcemanager.hostname.*
capacity-scheduler capacity-scheduler.xml yarn.scheduler.capacity.root.acl_submit_applications
yarn.scheduler.capacity.root.acl_administer_queue
yarn.scheduler.capacity.root.default.acl_application_max_priority
yarn-env yarn-env.sh
spark-defaults-conf spark-defaults.conf spark.yarn.archive
spark.yarn.historyServer.address
spark.eventLog.enabled
spark.eventLog.dir
spark.sql.warehouse.dir
spark.sql.hive.metastore.version
spark.sql.hive.metastore.jars
spark.extraListeners
spark.metrics.conf
spark.ssl.enabled
spark.authenticate
spark.network.crypto.enabled
spark.ssl.keyStore
spark.ssl.keyStorePassword
spark.ui.enabled
spark-env spark-env.sh SPARK_NO_DAEMONIZE
SPARK_DIST_CLASSPATH
spark-history-server-conf spark-history-server.conf spark.history.fs.logDirectory
spark.ui.proxyBase
spark.history.fs.cleaner.enabled
spark.ssl.enabled
spark.authenticate
spark.network.crypto.enabled
spark.ssl.keyStore
spark.ssl.keyStorePassword
spark.history.kerberos.enabled
spark.history.kerberos.principal
spark.history.kerberos.keytab
spark.ui.filters
spark.acls.enable
spark.history.ui.acls.enable
spark.history.ui.admin.acls
spark.history.ui.admin.acls.groups
livy-conf livy.conf livy.keystore
livy.keystore.password
livy.spark.master
livy.spark.deploy-mode
livy.rsc.jars
livy.repl.jars
livy.rsc.pyspark.archives
livy.rsc.sparkr.package
livy.repl.enable-hive-context
livy.superusers
livy.server.auth.type
livy.server.launch.kerberos.keytab
livy.server.launch.kerberos.principal
livy.server.auth.kerberos.principal
livy.server.auth.kerberos.keytab
livy.impersonation.enabled
livy.server.access-control.enabled
livy.server.access-control.*
livy-env livy-env.sh
hive-site hive-site.xml javax.jdo.option.ConnectionURL
javax.jdo.option.ConnectionDriverName
javax.jdo.option.ConnectionUserName
javax.jdo.option.ConnectionPassword
hive.metastore.uris
hive.metastore.pre.event.listeners
hive.security.authorization.enabled
hive.security.metastore.authenticator.manager
hive.security.metastore.authorization.manager
hive.metastore.use.SSL
hive.metastore.keystore.path
hive.metastore.keystore.password
hive.metastore.truststore.path
hive.metastore.truststore.password
hive.metastore.kerberos.keytab.file
hive.metastore.kerberos.principal
hive.metastore.sasl.enabled
hive.metastore.execute.setugi
hive.cluster.delegation.token.store.class
hive-env hive-env.sh

Configurações do HDFS sem suporte

As configurações hdfs a seguir não são compatíveis e não podem ser alteradas no contexto do cluster de Big Data.

Categoria Subcategoria Arquivo Configurações não compatíveis
core-site core-site.xml fs.defaultFS
ha.zookeeper.quorum
hadoop.tmp.dir
hadoop.rpc.protection
hadoop.security.auth_to_local
hadoop.security.authentication
hadoop.security.authorization
hadoop.http.authentication.simple.anonymous.allowed
hadoop.http.authentication.type
hadoop.http.authentication.kerberos.principal
hadoop.http.authentication.kerberos.keytab
hadoop.http.filter.initializers
hadoop.security.group.mapping.*
hadoop.security.key.provider.path
mapred-env mapred-env.sh
hdfs-site hdfs-site.xml dfs.namenode.name.dir
dfs.datanode.data.dir
dfs.namenode.acls.enabled
dfs.namenode.datanode.registration.ip-hostname-check
dfs.client.retry.policy.enabled
dfs.permissions.enabled
dfs.nameservices
dfs.ha.namenodes.nmnode-0
dfs.namenode.rpc-address.nmnode-0.*
dfs.namenode.shared.edits.dir
dfs.ha.automatic-failover.enabled
dfs.ha.fencing.methods
dfs.journalnode.edits.dir
dfs.client.failover.proxy.provider.nmnode-0
dfs.namenode.http-address
dfs.namenode.httpS-address
dfs.http.policy
dfs.encrypt.data.transfer
dfs.block.access.token.enable
dfs.data.transfer.protection
dfs.encrypt.data.transfer.cipher.suites
dfs.https.port
dfs.namenode.keytab.file
dfs.namenode.kerberos.principal
dfs.namenode.kerberos.internal.spnego.principal
dfs.datanode.data.dir.perm
dfs.datanode.address
dfs.datanode.http.address
dfs.datanode.ipc.address
dfs.datanode.https.address
dfs.datanode.keytab.file
dfs.datanode.kerberos.principal
dfs.journalnode.keytab.file
dfs.journalnode.kerberos.principal
dfs.journalnode.kerberos.internal.spnego.principal
dfs.web.authentication.kerberos.keytab
dfs.web.authentication.kerberos.principal
dfs.webhdfs.enabled
dfs.permissions.superusergroup
hdfs-env hdfs-env.sh HADOOP_HEAPSIZE_MAX
zoo-cfg zoo.cfg secureClientPort
clientPort
dataDir
dataLogDir
4lw.commands.whitelist
zookeeper-java-env java.env ZK_LOG_DIR
SERVER_JVMFLAGS
zookeeper-log4j-properties log4j.properties (zookeeper) log4j.rootLogger
log4j.appender.CONSOLE.*

Observação

Este artigo contém o termo lista de permissões, que a Microsoft considera fundamental neste contexto. O termo aparece neste artigo porque ele atualmente aparece no software. Quando o termo for removido do software, também o removeremos do artigo.

Configurações gateway não compatíveis

As configurações gateway a seguir não são compatíveis e não podem ser alteradas no contexto do cluster de Big Data.

Categoria Subcategoria Arquivo Configurações não compatíveis
gateway-site gateway-site.xml gateway.port
gateway.path
gateway.gateway.conf.dir
gateway.hadoop.kerberos.secured
java.security.krb5.conf
java.security.auth.login.config
gateway.websocket.feature.enabled
gateway.scope.cookies.feature.enabled
ssl.exclude.protocols
ssl.include.ciphers

Próximas etapas

Configurar Clusters de Big Data do SQL Server