Конфигурационные параметры Spark4

Для конфигурации сервиса используйте следующие параметры, доступные в ADCM.

ПРИМЕЧАНИЕ
  • Некоторые из перечисленных параметров становятся доступны в UI ADCM после установки флага Advanced.

  • Значения, установленные в Custom-параметрах, перепишут текущие значения параметров, даже если они read-only.

Common
Параметр Описание Значение по умолчанию

Dynamic allocation (spark.dynamicAllocation.enabled)

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

false

Credential Encryption
Параметр Описание Значение по умолчанию

Encryption enable

Включает или выключает функцию шифрования учетных данных. Если опция включена, Spark хранит учетные данные (пароли настроек, учетные данные для взаимодействия с другими сервисами) в зашифрованном виде

false

Credential provider path

Путь к хранилищу ключей JCEKS

jceks://hdfs/apps/spark/security/spark4.jceks

Custom jceks

Укажите значение true при использовании кастомного файла JCEKS-хранилища. Укажите значение false для использования дефолтного файла хранилища, который генерируется автоматически

false

spark-defaults.conf
Параметр Описание Значение по умолчанию

spark.yarn.archive

Архив, содержащий необходимые JAR-файлы Spark для помещения в кеш YARN. Если параметр задан, он заменяет spark.yarn.jars и указанный архив используется во всех контейнерах приложения. Архив должен содержать JAR-файлы в своем корневом каталоге. Архив также может быть размещен на HDFS для ускорения распространения файлов

hdfs:///apps/spark/spark4-yarn-archive.tgz

spark.yarn.appMasterEnv.JAVA_HOME

Значение переменной JAVA_HOME для запуска YARN Application Master

/usr/lib/jvm/java-arenadata-openjdk-17

spark.executorEnv.JAVA_HOME

Значение переменной JAVA_HOME для процессов Executor

/usr/lib/jvm/java-arenadata-openjdk-17

spark.yarn.historyServer.address

Адрес Spark History server

 — 

spark.master

Менеджер кластера для соединения

yarn

spark.dynamicAllocation.enabled

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

false

spark.shuffle.service.enabled

Задействует внешний shuffle-сервис. Сервис сохраняет shuffle-файлы, созданные исполнителями. Таким образом, исполнители могут быть безопасно удалены, а процесс shuffle может продолжаться в случае сбоя исполнителя. Внешний shuffle-сервис должен быть настроен, чтобы использовать его

false

spark.eventLog.enabled

Определяет, следует ли логировать события Spark, что полезно для восстановления веб-интерфейса после завершения работы приложения

true

spark.eventLog.dir

Базовый каталог, в котором регистрируются события Spark, если spark.eventLog.enabled=true. В этом каталоге Spark создает подкаталог для каждого приложения и логирует события, относящиеся к приложению в этом каталоге. Вы можете задать единое местоположение, например каталог HDFS, чтобы History Server имел доступ к файлам истории

hdfs:///var/log/spark4/apps

spark.dynamicAllocation.executorIdleTimeout

Если динамическое размещение включено и исполнитель бездействует дольше указанного времени, такой исполнитель будет удален. Дополнительные сведения доступны в документации Spark

120s

spark.dynamicAllocation.cachedExecutorIdleTimeout

Если динамическое размещение включено и исполнитель, у которого имеются блоки данных в кеше, бездействует дольше указанного времени, такой исполнитель будет удален. Дополнительные сведения доступны в документации Spark

600s

spark.history.provider

Имя класса, реализующего backend-часть истории приложения. В настоящее время Spark предоставляет только одну реализацию, которая ищет логи приложений, хранящиеся в файловой системе

org.apache.spark.deploy.history.FsHistoryProvider

spark.history.fs.cleaner.enabled

Указывает, должен ли History Server периодически удалять логи событий из хранилища

true

spark.history.store.path

Локальный каталог, в котором кешируются данные истории приложений. Если параметр задан, History Server будет хранить данные приложения на диске, а не в памяти. Данные, записанные на диск, будут повторно использованы в случае перезапуска History Server

/var/log/spark4/history

spark.serializer

Имя класса, который выполняет сериализацию объектов для отправки их по сети или для кеширования в сериализованном виде. По умолчанию работает с любым объектом, который реализует интерфейс Serializable, однако такой подход является медленным. Поэтому рекомендуется использовать org.apache.spark.serializer.KryoSerializer и настроить сериализацию Kryo для большей производительности. В значении может быть любой класс-наследник org.apache.spark.Serializer

org.apache.spark.serializer.KryoSerializer

spark.driver.extraClassPath

Дополнительные зависимости, которые будут добавлены в classpath драйвера

  • /usr/lib/hive/lib/hive-shims-scheduler.jar

  • /usr/lib/hadoop-yarn/hadoop-yarn-server-resourcemanager.jar

  • /usr/lib/spark4/jars/adb-spark-connector-assembly-release-1.2.0-spark-4.0.1_arenadata1.jar

  • /usr/lib/spark4/jars/adqm-spark-connector-assembly-release-1.1.0-spark-4.0.1_arenadata1.jar

spark.executor.extraClassPath

Дополнительные зависимости, которые будут добавлены в executor classpath

  • /usr/lib/spark4/jars/adb-spark-connector-assembly-release-1.2.0-spark-4.0.1_arenadata1.jar

  • /usr/lib/spark4/jars/adb-spark-connector-assembly-release-1.2.0-spark-4.0.1_arenadata1.jar

spark.history.ui.port

Номер порта web-интерфейса History Server

18094

spark.ui.port

Номер порта веб-интерфейса Spark

4150

spark.history.fs.logDirectory

Директория с логами History Server

hdfs:///var/log/spark4/apps

spark.sql.extensions

Классы SQL-расширений Iceberg, разделенные запятой

org.apache.iceberg.spark.extensions.IcebergSparkSessionExtensions

spark.sql.catalog.spark_catalog

Класс-имплементация каталога Iceberg

org.apache.iceberg.spark.SparkSessionCatalog

spark.sql.hive.metastore.jars

Путь к JAR-файлам, которые нужны для инициализации HiveMetastoreClient

path

spark.sql.hive.metastore.jars.path

Список путей, разделенных запятыми и указывающих на JAR-файлы, которые необходимы для инициализации HiveMetastoreClient

file:///usr/lib/hive/lib/*.jar

spark.driver.extraLibraryPath:

Путь к дополнительным нативным библиотекам для драйвера

/usr/lib/hadoop/lib/native/

spark.yarn.am.extraLibraryPath:

Путь к дополнительным нативным библиотекам для Application Master

/usr/lib/hadoop/lib/native/

spark.executor.extraLibraryPath

Путь к дополнительным нативным библиотекам для Executor

/usr/lib/hadoop/lib/native/

spark.yarn.appMasterEnv.HIVE_CONF_DIR

Путь к директории на Application Master, где хранятся настройки Hive, необходимые для запуска в кластерном режиме

/etc/spark4/conf

spark.yarn.historyServer.allowTracking

Позволяет использовать Spark History Server для интерфейса трекинга, если web UI отключен для задачи

True

spark.connect.grpc.binding.port

Номер порта для gRPC-соединения с сервером Spark Connect

15012

spark.artifactory.dir.path

Директория с артефактами Spark Connect

tmp

spark.sql.security.confblacklist

Запрещает переопределение указанных параметров для корректной работы приложения или из соображений безопасности

spark.sql.extensions

spark.history.kerberos.enabled

Указывает, должен ли History Server использовать Kerberos для входа в систему. Этот параметр необходим, если History Server обращается к файлам HDFS в защищенном кластере Hyperwave

false

spark.acls.enable

Определяет, активен ли Spark ACL (access control list). Если опция включена, выполняется проверка, имеет ли определенный пользователь права доступа на просмотр или изменение задачи Spark. Обратите внимание, что пользователь должен быть известен. Если имя пользователя null, никаких проверок не выполняется. В веб-интерфейсе можно использовать фильтры для аутентификации и установки пользователя

false

spark.modify.acls

Список пользователей, разделенных запятыми, у которых есть права на изменение приложений Spark

spark,hdfs

spark.modify.acls.groups

Список групп пользователей, разделенных запятыми, у которых есть права на изменение приложений Spark

spark,hdfs

spark.history.ui.acls.enable

Указывает, следует ли проверять списки управления доступом, чтобы разрешить пользователям просматривать приложения на History Server. Если указано true, проверка контроля доступа выполняются независимо от того, какие значения spark.ui.acls.enable установлены для отдельных приложений. Если указано false, проверки контроля доступа не выполняются для всех пользовательских интерфейсов приложений, доступных через History Server

false

spark.history.ui.admin.acls

Разделенный запятыми список пользователей, у которых есть доступ к просмотру всех приложений Spark на History Server

spark,hdfs,dr.who

spark.history.ui.admin.acls.groups

Разделенный запятыми список групп пользователей, у которых есть доступ к просмотру всех приложений Spark на History Server

spark,hdfs,dr.who

spark.ui.view.acls

Разделенный запятыми список пользователей, у которых есть доступ к просмотру приложения Spark. По умолчанию только пользователь, запустивший Spark-задачу, имеет доступ к просмотру. Использование * в качестве значения означает, что любой пользователь может иметь доступ к просмотру задачи Spark

spark,hdfs,dr.who

spark.ui.view.acls.groups

Разделенный запятыми список групп пользователей, у которых есть доступ к просмотру приложения Spark. По умолчанию только пользователь, запустивший Spark-задачу, имеет доступ к просмотру. Использование * в качестве значения означает, что любой пользователь может иметь доступ к просмотру задачи Spark. Группы пользователей предоставляет экземпляр провайдера сопоставления групп (group mapping provider), указанный в spark.user.groups.mapping

spark,hdfs,dr.who

spark.ssl.keyPassword

Пароль к приватному ключу в keystore

 — 

spark.ssl.keyStore

Путь к keystore-файлу. Путь может быть как абсолютным, так и относительным директории, в которой был запущен процесс

 — 

spark.ssl.keyStoreType

Тип используемого keystore

JKS

spark.ssl.trustStorePassword

Пароль к приватному ключу в truststore

 — 

spark.ssl.trustStoreType

Тип используемого truststore

JKS

spark.ssl.enabled

Определяет, нужно ли задействовать SSL для Spark

 — 

spark.ssl.protocol

Определяет TLS-протокол. Указанный протокол должен поддерживаться JVM

TLSv1.2

spark.ssl.ui.port

Номер порта, на котором доступен веб-интерфейс Spark с включенным SSL

4151

spark.ssl.historyServer.port

Номер порта, на котором доступен веб-интерфейс Spark History Server с включенным SSL

18094

spark.executorEnv.PYTHONPATH

Значение переменной PYTHONPATH для процесса Executor

./pyspark.zip:./py4j.zip

spark.yarn.appMasterEnv.PYTHONPATH

Значение переменной PYTHONPATH для процесса Application Master

./pyspark.zip:./py4j.zip

spark.yarn.dist.archives

Разделенный запятыми список архивов для распаковки в рабочую директорию каждого из Executor

hdfs:///apps/spark4/pyspark.zip#pyspark.zip,hdfs:///apps/spark4/py4j.zip#py4j.zip

Custom log4j.properties
Параметр Описание Значение по умолчанию

Spark4 spark-log4j2.properties

Содержит конфигурацию Log4j2, которая используется Spark

spark-log4j2.properties

Spark heap memory settings
Параметр Описание Значение по умолчанию

Spark History Server Heap Memory

Максимальный размер области Java heap для Spark History Server

1G

Spark4 Connect Heap Memory

Максимальный размер области Java heap для сервера Spark Connect

1G

Другие параметры
Параметр Описание Значение по умолчанию

ad-runtime-utils

Конфигурация Java, используемая сервисом

 — 

Custom spark-defaults.conf

В этой секции вы можете указать значения для кастомных параметров, которые не отображаются в интерфейсе ADCM, но могут присутствовать в конфигурационном файле spark-defaults.conf

 — 

spark-env.sh

Содержимое файла spark-env.sh, который используется для инициализации переменных окружения на worker-узлах

spark-env.sh

spark-history-env.sh

Cодержимое файла spark-history-env.sh, который используется для инициализации переменных окружения, необходимых для работы Spark History Server

spark-history-env.sh

Ranger plugin enabled

Включает или отключает плагин Ranger

false

Компонент Spark4 Client
Параметр Описание Значение по умолчанию

adb_spark4_connector

Версия пакета adb-spark4-connector

1.2.0_4.0.x

adqm_spark4_connector

Версия пакета adqm-spark4-connector

1.1.0_4.0.x

adh_pyspark

Версия пакета adh-pyspark

3.10.4

Нашли ошибку? Выделите текст и нажмите Ctrl+Enter чтобы сообщить о ней