共用方式為


Apache Spark 和 Apache Hadoop (HDFS) 組態屬性

適用於:SQL Server 2019 (15.x)

Important

MICROSOFT SQL Server 2019 巨量數據叢集已淘汰。 SQL Server 2019 巨量數據叢集的支援已於 2025 年 2 月 28 日結束。 如需詳細資訊,請參閱 Microsoft SQL Server 平臺上的公告部落格文章和巨量數據選項。

巨量數據叢集支援服務和資源範圍內Apache Spark和Hadoop元件的部署時間和部署後設定。 巨量數據叢集會針對大部分設定使用與個別開放原始碼專案相同的預設組態值。 我們所做的變更設定會列在下方,以及描述及其預設值。 除了閘道資源之外,在服務範圍和資源範圍可設定的設定之間沒有任何差異。

您可以在相關聯的 Apache 檔案網站找到所有可能的組態和預設值:

我們不支援設定的設定也列在下方。

Note

若要在記憶體集區中包含Spark,請在的組態檔includeSparkbdc.json設定布爾值spec.resources.storage-0.spec.settings.spark。 如需指示,請參閱 在巨量數據叢集中設定 Apache Spark 和 Apache Hadoop

巨量數據叢集特定的預設Spark設定

下列 Spark 設定是具有 BDC 特定預設值但可設定使用者設定的設定。 系統管理的設定不包含在內。

Setting Name Description 類型 Default Value
capacity-scheduler.yarn.scheduler.capacity.maximum-applications 系統中可同時執行和擱置的應用程式數目上限。 int 10000
capacity-scheduler.yarn.scheduler.capacity.resource-calculator 要用來比較排程器中 Resources 的 ResourceCalculator 實作。 字串 org.apache.hadoop.yarn.util.resource.DominantResourceCalculator
capacity-scheduler.yarn.scheduler.capacity.root.queues 容量排程器,其預先定義的佇列稱為 root。 字串 預設
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 要用於驅動程式進程的記憶體數量。 字串 1g
spark-defaults-conf.spark.executor.memory 每個執行程序進程要使用的記憶體數量。 字串 1g
spark-defaults-conf.spark.executor.memoryOverhead 每個執行程式要配置的卸除記憶體數量。 int 384
yarn-site.yarn.nodemanager.resource.memory-mb 可以配置給容器的實體記憶體數量,以 MB 為單位。 int 8192
yarn-site.yarn.scheduler.maximum-allocation-mb 資源管理員上每個容器要求的最大配置。 int 8192
yarn-site.yarn.nodemanager.resource.cpu-vcores 可配置給容器的 CPU 核心數目。 int 32
yarn-site.yarn.scheduler.maximum-allocation-vcores 資源管理員上每個容器要求的最大配置,就虛擬 CPU 核心而言。 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 特定作系統的容器執行程式。 字串 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 以 float OR 作為絕對資源佇列最大容量的百分比佇列容量上限(%)。 將此值設定為 -1 會將容量上限設定為 100%。 int 100
capacity-scheduler.yarn.scheduler.capacity.root.default.state 佇列的狀態可以是其中一個執行中或已停止。 字串 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 容量排程器嘗試排程機架本機容器之後的排程機會數目。 int 40
capacity-scheduler.yarn.scheduler.capacity.rack-locality-additional-delay 在節點區域延遲時間上額外遺漏排程機會的數目,之後 CapacityScheduler 會嘗試排程關閉交換器容器。 int -1
hadoop-env.HADOOP_HEAPSIZE_MAX 所有 Hadoop JVM 進程的預設堆積大小上限。 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 作業歷程記錄伺服器的堆積大小。 int 2048
hive-env.HADOOP_HEAPSIZE Hive 的 Hadoop 堆積大小。 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)。 字串 2h
livy-conf.livy.server.yarn.poll-interval 在 Livy 伺服器中輪詢 yarn 的間隔(ms/s/m | min/h/d/y)。 字串 500ms
livy-conf.livy.rsc.jars Livy RSC jars. 字串 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. 字串 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 套件。 字串 hdfs:///system/livy/sparkr.zip
livy-env.LIVY_SERVER_JAVA_OPTS Livy 伺服器 Java 選項。 字串 -Xmx2g
spark-defaults-conf.spark.r.backendConnectionTimeout R 進程在其與 RBackend 的連線上設定的連線逾時,以秒為單位。 int 86400
spark-defaults-conf.spark.pyspark.python Spark 的 Python 選項。 字串 /opt/bin/python3
spark-defaults-conf.spark.yarn.jars Yarn jars. 字串 local:/opt/spark/jars/*
spark-history-server-conf.spark.history.fs.cleaner.maxAge 檔案系統歷程記錄清除器在 刪除作業歷程記錄檔案之前的最大存留期(ms/s/m | min/h/d/y)。 字串 7d
spark-history-server-conf.spark.history.fs.cleaner.interval spark 歷程記錄的間隔 (ms/s/m | min/h/d/y)。 字串 12h
hadoop-env.HADOOP_CLASSPATH 設定其他Hadoop類別路徑。 字串
spark-env.SPARK_DAEMON_MEMORY Spark 精靈記憶體。 字串 2g
yarn-site.yarn.log-aggregation.retain-seconds 啟用記錄匯總時,這個屬性會決定保留記錄的秒數。 int 604800
yarn-site.yarn.nodemanager.log-aggregation.compression-type Yarn NodeManager 記錄匯總的壓縮類型。 字串 gz
yarn-site.yarn.nodemanager.log-aggregation.roll-monitoring-interval-seconds NodeManager 記錄匯總中 Roll Monitoring 的間隔秒。 int 3600
yarn-site.yarn.scheduler.minimum-allocation-mb Resource Manager 中每個容器要求的最低配置,以 MB 為單位。 int 512
yarn-site.yarn.scheduler.minimum-allocation-vcores Resource Manager 中虛擬 CPU 核心的每個容器要求最低配置。 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}]。 字串 *
includeSpark 布爾值,可設定 Spark 作業是否可以在存放集區中執行。 bool true
enableSparkOnK8s 布爾值可設定是否在 K8s 上啟用 Spark,以在 Spark 前端中新增 K8s 的容器。 bool false
sparkVersion Spark 的版本 字串 2.4
spark-env.PYSPARK_ARCHIVES_PATH spark 作業中使用的 pyspark 封存 jar 路徑。 字串 local:/opt/spark/python/lib/pyspark.zip,local:/opt/spark/python/lib/py4j-0.10.7-src.zip

下列各節列出不支援的組態。

巨量數據叢集特定的預設 HDFS 設定

下列 HDFS 設定是具有 BDC 特定預設值但可供使用者設定的設定。 系統管理的設定不包含在內。

Setting Name Description 類型 Default Value
hdfs-site.dfs.replication 默認區塊複寫。 int 2
hdfs-site.dfs.namenode.provided.enabled 可讓名稱節點處理提供的記憶體。 bool true
hdfs.site.dfs.namenode.mount.acls.enabled 設定為 true,以在掛接期間從遠端存放區繼承 ACL(存取控制清單)。 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 類別,用來指定所提供記憶體上區塊的輸入格式。 字串 org.apache.hadoop.hdfs.server.common.blockaliasmap.impl.InMemoryLevelDBAliasMapClient
hdfs-site.dfs.namenode.provided.aliasmap.class 類別,用來指定 namenode 所提供記憶體上區塊的輸入格式。 字串 org.apache.hadoop.hdfs.server.common.blockaliasmap.impl.NamenodeInMemoryAliasMapClient
hdfs-site.dfs.provided.aliasmap.load.retries 數據節點上要載入所提供aliasmap的重試次數。 int 0
hdfs-site.dfs.provided.aliasmap.inmemory.batch-size 逐一查看備份 aliasmap 的資料庫時,批次大小。 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 提供之記憶體的過度複製因數。 每個遠端 HDFS 區塊所建立 BDC 上的快取區塊數目。 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 Namenode 選項。 字串 -Dhadoop.security.logger=INFO,RFAS -Xmx2g
hdfs-env.HDFS_DATANODE_OPTS HDFS Datanode 選項。 字串 -Dhadoop.security.logger=ERROR,RFAS -Xmx2g
hdfs-env.HDFS_ZKFC_OPTS HDFS ZKFC 選項。 字串 -Xmx1g
hdfs-env.HDFS_JOURNALNODE_OPTS HDFS JournalNode 選項。 字串 -Xmx2g
hdfs-env.HDFS_AUDIT_LOGGER HDFS 稽核記錄器選項。 字串 INFO,RFAAUDIT
core-site.hadoop.security.group.mapping.ldap.search.group.hierarchy.levels 核心網站Hadoop LDAP 搜尋群組的階層層級。 int 10
core-site.fs.permissions.umask-mode 許可權 umask 模式。 字串 077
core-site.hadoop.security.kms.client.failover.max.retries 用戶端故障轉移的重試次數上限。 int 20
zoo-cfg.tickTime 'ZooKeeper' 設定的刻度時間。 int 2000
zoo-cfg.initLimit Init Time for '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 'ZooKeeper' 中 Java 環境的 JVM 旗標。 字串 -Xmx1G -Xms1G
zookeeper-log4j-properties.zookeeper.console.threshold 'ZooKeeper' 中 log4j 控制台的臨界值。 字串 INFO
zoo-cfg.zookeeper.request.timeout 以毫秒為單位控制 『ZooKeeper』 要求逾時。 int 40000
kms-site.hadoop.security.kms.encrypted.key.cache.size hadoop kms 中加密金鑰的快取大小。 int 500

巨量數據叢集特定的預設閘道設定

下列閘道設定是具有 BDC 特定預設值但可設定使用者設定的設定。 系統管理的設定不包含在內。 閘道設定只能在 資源 範圍設定。

Setting Name Description 類型 Default Value
gateway-site.gateway.httpclient.socketTimeout 閘道中 HTTP 用戶端的套接字逾時(ms/s/m)。 字串 90s
gateway-site.sun.security.krb5.debug 針對 Kerberos 安全性進行偵錯。 bool true
knox-env.KNOX_GATEWAY_MEM_OPTS Knox 閘道記憶體選項。 字串 -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

本文包含 whitelist 一詞,Microsoft 認為該字詞在此內容中不屬於敏感詞彙。 因為該字詞目前出現在軟體中,所以也會出現在本文中。 當軟體移除該字詞時,我們也會將其從發行項中移除。

不支援的組 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 巨量數據叢集