Свойства конфигурации Apache Spark и Apache Hadoop (HDFS)

Область применения: SQL Server 2019 (15.x)

Important

Кластеры больших данных Microsoft SQL Server 2019 прекращены. Поддержка кластеров больших данных SQL Server 2019 закончилась с 28 февраля 2025 г. Дополнительные сведения см. в записи блога объявлений и параметрах больших данных на платформе Microsoft SQL Server.

Кластеры больших данных поддерживают настройку времени развертывания и времени после развертывания компонентов Apache Spark и Hadoop в областях службы и ресурсов. Кластеры больших данных используют те же значения конфигурации по умолчанию, что и соответствующий проект с открытым исходным кодом для большинства параметров. Параметры, которые мы изменяем, перечислены ниже вместе с описанием и их значением по умолчанию. Кроме ресурса шлюза, нет разницы между параметрами, которые можно настроить в области службы и области ресурсов.

Вы можете найти все возможные конфигурации и значения по умолчанию для каждого на связанном сайте документации Apache:

Параметры, которые мы не поддерживаем, также перечислены ниже.

Note

Чтобы включить Spark в пул носителей, задайте логическое значение includeSpark в bdc.json файле конфигурации по адресу spec.resources.storage-0.spec.settings.spark. Инструкции см. в разделе "Настройка Apache Spark и Apache Hadoop" в кластерах больших данных .

Параметры Spark для кластеров больших данных по умолчанию

Приведенные ниже параметры Spark — это те, которые имеют значения по умолчанию для конкретного контроллера домена, но настраиваются пользователем. Параметры, управляемые системой, не включены.

Setting Name Description Type Default Value
capacity-scheduler.yarn.scheduler.capacity.maximum-applications Максимальное количество приложений в системе, которое может одновременно работать и ожидалось. int 10000
capacity-scheduler.yarn.scheduler.capacity.resource-calculator Реализация ResourceCalculator, используемая для сравнения ресурсов в планировщике. string org.apache.hadoop.yarn.util.resource.DominantResourceCalculator
capacity-scheduler.yarn.scheduler.capacity.root.queues Планировщик емкости с предопределенной очередью, называемой корневым. string default
capacity-scheduler.yarn.scheduler.capacity.root.default.capacity Емкость очереди в процентах (%) в качестве абсолютной емкости очереди ресурсов для корневой очереди. int 100
spark-defaults-conf.spark.driver.cores Число ядер, используемых для процесса драйвера, только в режиме кластера. int 1
spark-defaults-conf.spark.driver.memoryOverhead Объем памяти вне кучи для каждого драйвера в режиме кластера. int 384
spark-defaults-conf.spark.executor.instances Количество исполнителей для статического выделения. int 1
spark-defaults-conf.spark.executor.cores Количество ядер, используемых для каждого исполнителя. int 1
spark-defaults-conf.spark.driver.memory Объем памяти, используемой для процесса драйвера. string 1g
spark-defaults-conf.spark.executor.memory Объем памяти для каждого процесса исполнителя. string 1g
spark-defaults-conf.spark.executor.memoryOverhead Объем памяти вне кучи, выделяемой для каждого исполнителя. int 384
yarn-site.yarn.nodemanager.resource.memory-mb Объем физической памяти в МБ, который можно выделить для контейнеров. int 8192
yarn-site.yarn.scheduler.maximum-allocation-mb Максимальное выделение каждого запроса контейнера в диспетчере ресурсов. int 8192
yarn-site.yarn.nodemanager.resource.cpu-vcores Количество ядер ЦП, которые можно выделить для контейнеров. int 32
yarn-site.yarn.scheduler.maximum-allocation-vcores Максимальное выделение каждого запроса контейнера в диспетчере ресурсов с точки зрения виртуальных ядер ЦП. int 8
yarn-site.yarn.nodemanager.linux-container-executor.secure-mode.pool-user-count Количество пользователей пула для исполнителя контейнеров Linux в безопасном режиме. int 6
yarn-site.yarn.scheduler.capacity.maximum-am-resource-percent Максимальный процент ресурсов в кластере, который можно использовать для запуска мастеров приложений. float 0.1
yarn-site.yarn.nodemanager.container-executor.class Исполнители контейнеров для определенных операционных систем. string org.apache.hadoop.yarn.server.nodemanager.LinuxContainerExecutor
capacity-scheduler.yarn.scheduler.capacity.root.default.user-limit-factor Кратная емкость очереди, которая может быть настроена, чтобы один пользователь приобрел больше ресурсов. int 1
capacity-scheduler.yarn.scheduler.capacity.root.default.maximum-capacity Максимальная емкость очереди в процентах (%) в виде плавающего или в качестве абсолютной емкости очереди ресурсов. При установке этого значения значение -1 задает максимальную емкость до 100%. int 100
capacity-scheduler.yarn.scheduler.capacity.root.default.state Состояние очереди может быть одним из запущенных или остановленных. string RUNNING
capacity-scheduler.yarn.scheduler.capacity.root.default.maximum-application-lifetime Максимальное время существования приложения, которое отправляется в очередь в секундах. Любое значение меньше или равно нулю будет считаться отключенным. int -1
capacity-scheduler.yarn.scheduler.capacity.root.default.default-application-lifetime Время существования приложения по умолчанию, которое отправляется в очередь в секундах. Любое значение меньше или равно нулю будет считаться отключенным. int -1
capacity-scheduler.yarn.scheduler.capacity.node-locality-delay Количество пропущенных возможностей планирования, после чего CapacityScheduler пытается запланировать локальные контейнеры стоек. int 40
capacity-scheduler.yarn.scheduler.capacity.rack-locality-additional-delay Количество дополнительных пропущенных возможностей планирования по задержке узлов, после чего CapacityScheduler пытается запланировать контейнеры вне коммутатора. int -1
hadoop-env.HADOOP_HEAPSIZE_MAX Максимальный размер кучи по умолчанию всех процессов JVM Hadoop. int 2048
yarn-env.YARN_RESOURCEMANAGER_HEAPSIZE Размер кучи в Yarn ResourceManager. int 2048
yarn-env.YARN_NODEMANAGER_HEAPSIZE Размер кучи Yarn NodeManager. int 2048
mapred-env.HADOOP_JOB_HISTORYSERVER_HEAPSIZE Размер кучи hadoop Job HistoryServer. int 2048
hive-env.HADOOP_HEAPSIZE Размер кучи Hadoop для Hive. int 2048
livy-conf.livy.server.session.timeout-check Проверьте время ожидания сеанса сервера Livy. bool true
livy-conf.livy.server.session.timeout-check.skip-busy Пропускать время ожидания сеанса сервера Livy. bool true
livy-conf.livy.server.session.timeout Время ожидания сеанса сервера livy (ms/s/m | min/h/d/y). string 2h
livy-conf.livy.server.yarn.poll-interval Интервал опроса для yarn на сервере Livy (ms/s/m | min/h/d/y). string 500ms
livy-conf.livy.rsc.jars Livy RSC jars. 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 Livy repl jars. 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 Пакет Livy RSC SparkR. string hdfs:///system/livy/sparkr.zip
livy-env.LIVY_SERVER_JAVA_OPTS Параметры Java сервера Livy. string -Xmx2g
spark-defaults-conf.spark.r.backendConnectionTimeout Время ожидания подключения, заданное процессом R при подключении к RBackend в секундах. int 86400
spark-defaults-conf.spark.pyspark.python Вариант Python для Spark. string /opt/bin/python3
spark-defaults-conf.spark.yarn.jars Yarn jars. string local:/opt/spark/jars/*
spark-history-server-conf.spark.history.fs.cleaner.maxAge Максимальный возраст файлов журнала заданий перед их удалением в журнале файловой системы (ms/s/m | min/h/d/y). string 7d
spark-history-server-conf.spark.history.fs.cleaner.interval Интервал очистки журнала spark в (мс/с/м | мин/ч/д/y). string 12h
hadoop-env.HADOOP_CLASSPATH Задает дополнительный класс Hadoop. string
spark-env.SPARK_DAEMON_MEMORY Память управляющей программы Spark. string 2g
yarn-site.yarn.log-aggregation.retain-seconds При включенной агрегации журнала это свойство определяет количество секунд для хранения журналов. int 604800
yarn-site.yarn.nodemanager.log-aggregation.compression-type Тип сжатия для агрегирования журнала для Yarn NodeManager. string gz
yarn-site.yarn.nodemanager.log-aggregation.roll-monitoring-interval-seconds Интервал в секундах для мониторинга свертки в журнале NodeManager. int 3600
yarn-site.yarn.scheduler.minimum-allocation-mb Минимальное выделение для каждого запроса контейнера в Resource Manager в MBS. int 512
yarn-site.yarn.scheduler.minimum-allocation-vcores Минимальное выделение для каждого запроса контейнера в Resource Manager с точки зрения виртуальных ядер ЦП. int 1
yarn-site.yarn.nm.liveness-monitor.expiry-interval-ms Как долго ждать, пока диспетчер узлов не считается мертвым. int 180000
yarn-site.yarn.resourcemanager.zk-timeout-ms Время ожидания сеанса ZooKeeper в миллисекундах. int 40000
capacity-scheduler.yarn.scheduler.capacity.root.default.acl_application_max_priority Список ACL, который может отправлять приложения с настроенным приоритетом. Например, [user={name} group={name} max_priority={priority} default_priority={priority}]. string *
includeSpark Логическое значение, чтобы настроить, могут ли задания Spark выполняться в пуле носителей. bool true
enableSparkOnK8s Логическое значение для настройки включения Spark в K8s, добавляющего контейнеры для K8s в головной голове Spark. bool false
sparkVersion Версия Spark string 2.4
spark-env.PYSPARK_ARCHIVES_PATH Путь к файлам архива pyspark, используемым в заданиях Spark. string local:/opt/spark/python/lib/pyspark.zip,local:/opt/spark/python/lib/py4j-0.10.7-src.zip

В следующих разделах перечислены неподдерживаемые конфигурации.

Параметры HDFS для кластеров больших данных по умолчанию

Приведенные ниже параметры HDFS — это те, которые имеют значения по умолчанию для конкретного контроллера домена, но настраиваются пользователем. Параметры, управляемые системой, не включены.

Setting Name Description Type Default Value
hdfs-site.dfs.replication Репликация блоков по умолчанию. int 2
hdfs-site.dfs.namenode.provided.enabled Позволяет узлу имен обрабатывать предоставленные хранилища. bool true
hdfs.site.dfs.namenode.mount.acls.enabled Задайте значение true, чтобы наследовать списки управления доступом (списки управления доступом) из удаленных хранилищ во время подключения. bool false
hdfs-site.dfs.datanode.provided.enabled Позволяет узлу данных обрабатывать предоставленные хранилища. bool true
hdfs-site.dfs.datanode.provided.volume.lazy.load Включите отложенную загрузку в узле данных для предоставленных хранилищ. bool true
hdfs-site.dfs.provided.aliasmap.inmemory.enabled Включите сопоставление псевдонимов в памяти для предоставленных хранилищ. bool true
hdfs-site.dfs.provided.aliasmap.class Класс, используемый для указания входного формата блоков в предоставленных хранилищах. string org.apache.hadoop.hdfs.server.common.blockaliasmap.impl.InMemoryLevelDBAliasMapClient
hdfs-site.dfs.namenode.provided.aliasmap.class Класс, используемый для указания входного формата блоков в предоставленных хранилищах для namenode. string org.apache.hadoop.hdfs.server.common.blockaliasmap.impl.NamenodeInMemoryAliasMapClient
hdfs-site.dfs.provided.aliasmap.load.retries Количество повторных попыток в datanode для загрузки предоставленного псевдонима. int 0
hdfs-site.dfs.provided.aliasmap.inmemory.batch-size Размер пакета при переборе базы данных с поддержкой карты псевдонима. int 500
hdfs-site.dfs.datanode.provided.volume.readthrough Включите чтение для предоставленных хранилищ в datanode. bool true
hdfs-site.dfs.provided.cache.capacity.mount Включите подключение емкости кэша для предоставленных хранилищ. bool true
hdfs-site.dfs.provided.overreplication.factor Коэффициент избыточности для предоставленных хранилищ. Количество блоков кэша в BDC, созданных на каждом удаленном блоке HDFS. float 1
hdfs-site.dfs.provided.cache.capacity.fraction Доля емкости кэша для предоставленного хранилища. Доля общей емкости в кластере, которую можно использовать для кэширования данных из предоставленных хранилищ. float 0.01
hdfs-site.dfs.provided.cache.capacity.bytes Емкость кластера для использования в качестве пространства кэша для предоставленных блоков в байтах. int -1
hdfs-site.dfs.ls.limit Ограничение количества файлов, напечатанных ls. int 500
hdfs-env.HDFS_NAMENODE_OPTS Параметры имен HDFS. string -Dhadoop.security.logger=INFO,RFAS -Xmx2g
hdfs-env.HDFS_DATANODE_OPTS Параметры datanode HDFS. string -Dhadoop.security.logger=ERROR,RFAS -Xmx2g
hdfs-env.HDFS_ZKFC_OPTS Параметры HDFS ZKFC. string -Xmx1g
hdfs-env.HDFS_JOURNALNODE_OPTS Параметры hdFS JournalNode. string -Xmx2g
hdfs-env.HDFS_AUDIT_LOGGER Параметры средства ведения журнала аудита HDFS. string INFO,RFAAUDIT
core-site.hadoop.security.group.mapping.ldap.search.group.hierarchy.levels Уровни иерархии для основной группы поиска по протоколу LDAP Hadoop. int 10
core-site.fs.permissions.umask-mode Режим разрешения umask. string 077
core-site.hadoop.security.kms.client.failover.max.retries Максимальное количество повторных попыток для отработки отказа клиента. int 20
zoo-cfg.tickTime Время настройки ZooKeeper. int 2000
zoo-cfg.initLimit Время инициализации конфигурации ZooKeeper. int 10
zoo-cfg.syncLimit Время синхронизации для конфигурации ZooKeeper. int 5
zoo-cfg.maxClientCnxns Максимальное количество клиентских подключений для конфигурации ZooKeeper. int 60
zoo-cfg.minSessionTimeout Минимальное время ожидания сеанса для конфигурации ZooKeeper. int 4000
zoo-cfg.maxSessionTimeout Максимальное время ожидания сеанса для конфигурации ZooKeeper. int 40000
zoo-cfg.autopurge.snapRetainCount Количество удержаний оснастки для конфигурации Авточистки ZooKeeper. int 3
zoo-cfg.autopurge.purgeInterval Интервал очистки для конфигурации Авточистки ZooKeeper. int 0
zookeeper-java-env.JVMFLAGS Флаги JVM для среды Java в ZooKeeper. string -Xmx1G -Xms1G
zookeeper-log4j-properties.zookeeper.console.threshold Пороговое значение для консоли log4j в ZooKeeper. string INFO
zoo-cfg.zookeeper.request.timeout Управляет временем ожидания запроса ZooKeeper в миллисекундах. int 40000
kms-site.hadoop.security.kms.encrypted.key.cache.size Размер кэша для зашифрованного ключа в kms hadoop. int 500

Параметры шлюза для кластеров больших данных по умолчанию

Приведенные ниже параметры шлюза — это те, которые имеют значения по умолчанию для конкретного контроллера домена, но настраиваются пользователем. Параметры, управляемые системой, не включены. Параметры шлюза можно настроить только в области ресурсов .

Setting Name Description Type Default Value
gateway-site.gateway.httpclient.socketTimeout Время ожидания сокета для HTTP-клиента в шлюзе (ms/s/m). string 90s
gateway-site.sun.security.krb5.debug Отладка для безопасности Kerberos. bool true
knox-env.KNOX_GATEWAY_MEM_OPTS Параметры памяти шлюза Knox. string -Xmx2g

Неподдерживаемые конфигурации Spark

Следующие spark конфигурации не поддерживаются и не могут быть изменены в контексте кластера больших данных.

Category Sub-Category File Unsupported Configurations
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

Неподдерживаемые конфигурации HDFS

Следующие hdfs конфигурации не поддерживаются и не могут быть изменены в контексте кластера больших данных.

Category Sub-Category File Unsupported Configurations
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.*

Note

В этой статье содержится термин список разрешений, который корпорация Майкрософт считает некорректным для данного контекста. Термин присутствует в этой статье, так как в настоящее время он присутствует в программном обеспечении. При удалении термина из программного обеспечения мы удалим его из статьи.

Неподдерживаемые gateway конфигурации

Следующие gateway конфигурации для не поддерживаются и не могут быть изменены в контексте кластера больших данных.

Category Sub-Category File Unsupported Configurations
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

Next steps

Настройка кластеров больших данных SQL Server