Конфигурационные параметры Spark3
Для конфигурации сервиса используйте следующие параметры, доступные в ADCM.
|
ПРИМЕЧАНИЕ
|
| Параметр | Описание | Значение по умолчанию |
|---|---|---|
Dynamic allocation (spark.dynamicAllocation.enabled) |
Определяет, использовать ли динамическое выделение ресурсов для масштабирования количества исполнителей, зарегистрированных в этом приложении, в зависимости от рабочей нагрузки |
false |
| Параметр | Описание | Значение по умолчанию |
|---|---|---|
Encryption enable |
Включает или выключает функцию шифрования учетных данных. Если опция включена, Spark хранит учетные данные (пароли настроек, учетные данные для взаимодействия с другими сервисами) в зашифрованном виде |
false |
Credential provider path |
Путь к хранилищу ключей JCEKS |
jceks://hdfs/apps/spark/security/spark.jceks |
Custom jceks |
Укажите значение |
false |
| Параметр | Описание | Значение по умолчанию |
|---|---|---|
version |
Версия пакета spark3_iceberg_extensions |
1.5.2_arenadata1 |
| Параметр | Описание | Значение по умолчанию |
|---|---|---|
spark.yarn.archive |
Архив, содержащий необходимые JAR-файлы Spark для помещения в кеш YARN.
Если параметр задан, он заменяет |
hdfs:///apps/spark/spark3-yarn-archive.tgz |
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, если |
hdfs:///var/log/spark/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/spark3/history |
spark.serializer |
Имя класса, который выполняет сериализацию объектов для отправки их по сети или для кеширования в сериализованном виде.
По умолчанию работает с любым объектом, который реализует интерфейс |
org.apache.spark.serializer.KryoSerializer |
spark.driver.extraClassPath |
Дополнительные зависимости, которые будут добавлены в classpath драйвера |
|
spark.executor.extraClassPath |
Дополнительные зависимости, которые будут добавлены в executor classpath |
|
spark.history.ui.port |
Номер порта web-интерфейса History Server |
18092 |
spark.ui.port |
Номер порта веб-интерфейса Spark |
4140 |
spark.history.fs.logDirectory |
Директория с логами History Server |
hdfs:///var/log/spark/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/spark3/conf |
spark.yarn.historyServer.allowTracking |
Позволяет использовать Spark History Server для интерфейса трекинга, если web UI отключен для задачи |
True |
spark.connect.grpc.binding.port |
Номер порта для gRPC-соединения с сервером Spark Connect |
15002 |
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.
Обратите внимание, что пользователь должен быть известен.
Если имя пользователя |
false |
spark.modify.acls |
Список пользователей, разделенных запятыми, у которых есть права на изменение приложений Spark |
spark,hdfs |
spark.modify.acls.groups |
Список групп пользователей, разделенных запятыми, у которых есть права на изменение приложений Spark |
spark,hdfs |
spark.history.ui.acls.enable |
Указывает, следует ли проверять списки управления доступом, чтобы разрешить пользователям просматривать приложения на 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,hdfs,dr.who |
spark.ui.view.acls.groups |
Разделенный запятыми список групп пользователей, у которых есть доступ к просмотру приложения Spark.
По умолчанию только пользователь, запустивший Spark-задачу, имеет доступ к просмотру.
Использование |
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 |
4141 |
spark.ssl.historyServer.port |
Номер порта, на котором доступен веб-интерфейс Spark History Server с включенным SSL |
18092 |
| Параметр | Описание | Значение по умолчанию |
|---|---|---|
Spark3 spark-log4j2.properties |
Содержит конфигурацию Log4j2, которая используется Spark |
|
Livy livy-log4j.properties |
Содержит конфигурацию Log4j, которая используется Livy |
| Параметр | Описание | Значение по умолчанию |
|---|---|---|
livy.server.host |
Хост, на котором запускается Livy-сервер. По умолчанию Livy слушает все сетевые интерфейсы |
0.0.0.0 |
livy.server.port |
Порт, на котором запускается Livy-сервер |
8999 |
livy.spark.master |
Spark master для Livy-сессий |
yarn |
livy.impersonation.enabled |
Определяет, следует ли Livy имперсонировать пользователей при создании новой сессии |
true |
livy.server.csrf-protection.enabled |
Определяет, задействовать ли CSRF-защиту.
Если защита включена, клиентские приложения должны добавлять HTTP-заголовок |
true |
livy.repl.enable-hive-context |
Определяет, задействовать ли HiveContext для интерпретатора Livy.
Если указано значение |
true |
livy.server.recovery.mode |
Устанавливает режим восстановления для Livy |
recovery |
livy.server.recovery.state-store |
Определяет, где Livy хранит состояние (state) для восстановления |
filesystem |
livy.server.recovery.state-store.url |
Если выбран тип хранилища состояния |
/livy-recovery |
livy.server.auth.type |
Указывает тип аутентификации для Livy |
— |
livy.server.access_control.enabled |
Определяет, включать ли контроль доступа для сервера Livy.
Если установлено значение |
false |
livy.server.access_control.users |
Пользователи, которым разрешен доступ к Livy. По умолчанию любому пользователю разрешен доступ к Livy. Если пользователь хочет ограничить доступ, он должен перечислить всех разрешенных пользователей через запятую |
livy,hdfs,spark |
livy.superusers |
Список разделенных запятыми пользователей, у которых есть разрешения на изменение сеанса другого пользователя, например на выполнение запросов, удаление сеанса и так далее |
livy,hdfs,spark |
livy.keystore |
Путь к keystore-файлу. Путь может быть как абсолютным, так и относительным каталогу, в котором был запущен процесс |
— |
livy.keystore.password |
Пароль для доступа к keystore-файлу |
— |
livy.key-password |
Пароль для доступа к ключу в keystore-файле |
— |
livy.server.thrift.ssl.protocol.blacklist |
Список запрещенных к использованию TLS-протоколов |
SSLv2,SSLv3,TLSv1,TLSv1.1 |
| Параметр | Описание | Значение по умолчанию |
|---|---|---|
Spark History Server Heap Memory |
Максимальный размер области Java heap для Spark History Server |
1G |
Spark3 Connect Heap Memory |
Максимальный размер области Java heap для сервера Spark Connect |
1G |
| Параметр | Описание | Значение по умолчанию |
|---|---|---|
xasecure.audit.destination.solr.batch.filespool.dir |
Путь к spool-каталогу |
/srv/ranger/hdfs_plugin/audit_solr_spool |
xasecure.audit.destination.solr.urls |
URL сервера Solr для сохранения аудит-событий.
Оставьте значение пустым или установите значение |
— |
xasecure.audit.destination.solr.zookeepers |
Указывает строку подключения ZooKeeper для подключения к Solr |
— |
xasecure.audit.destination.solr.force.use.inmemory.jaas.config |
Использует in-memory JAAS-файл для соединения с Solr |
— |
xasecure.audit.is.enabled |
Активирует аудит Ranger |
true |
xasecure.audit.jaas.Client.loginModuleControlFlag |
Определяет требование к успешному завершению работы модуля. Возможные значения: |
— |
xasecure.audit.jaas.Client.loginModuleName |
Имя класса-аутентификатора |
— |
xasecure.audit.jaas.Client.option.keyTab |
Имя keytab-файла, из которого необходимо получить секретный ключ принципала |
— |
xasecure.audit.jaas.Client.option.principal |
Имя используемого принципала |
— |
xasecure.audit.jaas.Client.option.serviceName |
Имя пользователя или сервиса, для которого выполнятся логин |
— |
xasecure.audit.jaas.Client.option.storeKey |
Установите значение |
false |
xasecure.audit.jaas.Client.option.useKeyTab |
Установите значение |
false |
| Параметр | Описание | Значение по умолчанию |
|---|---|---|
ranger.plugin.spark.policy.rest.url |
URL для Ranger Admin |
— |
ranger.plugin.spark.service.name |
Имя Ranger-сервиса, который содержит политики для этого экземпляра |
— |
ranger.plugin.spark.policy.cache.dir |
Каталог, в котором кешируются политики Ranger после успешного извлечения из источника |
/srv/ranger/spark/policycache |
ranger.plugin.spark.policy.pollIntervalMs |
Определяет, как часто проверять политики на предмет изменения |
30000 |
ranger.plugin.spark.policy.rest.client.connection.timeoutMs |
Время ожидания подключения Spark-плагина RangerRestClient (в миллисекундах) |
120000 |
ranger.plugin.spark.policy.rest.client.read.timeoutMs |
Тайм-аут на чтение для Spark-плагина RangerRestClient (в миллисекундах) |
30000 |
ranger.plugin.spark.policy.rest.ssl.config.file |
Путь к конфигурационному файлу RangerRestClient SSL-плагина Spark |
/etc/spark3/conf/ranger-spark-policymgr-ssl.xml |
| Параметр | Описание | Значение по умолчанию |
|---|---|---|
xasecure.policymgr.clientssl.keystore |
Путь к keystore-файлу, который использует Ranger |
— |
xasecure.policymgr.clientssl.keystore.credential.file |
Путь к файлу с паролями для keystore-файла |
/etc/spark/conf/ranger-spark.jceks |
xasecure.policymgr.clientssl.truststore.credential.file |
Путь к truststore-файлу с учетными данными |
/etc/spark/conf/ranger-spark.jceks |
xasecure.policymgr.clientssl.truststore |
Путь к truststore-файлу, который использует Ranger |
— |
xasecure.policymgr.clientssl.keystore.password |
Пароль для доступа к keystore-файлу |
— |
xasecure.policymgr.clientssl.truststore.password |
Пароль для доступа к truststore-файлу |
— |
| Параметр | Описание | Значение по умолчанию |
|---|---|---|
Custom spark-defaults.conf |
В этой секции вы можете указать значения для кастомных параметров, которые не отображаются в интерфейсе ADCM, но могут присутствовать в конфигурационном файле spark-defaults.conf |
— |
spark-env.sh |
Содержимое файла spark-env.sh, который используется для инициализации переменных окружения на worker-узлах |
|
Custom livy.conf |
В этой секции вы можете указать значения для кастомных параметров, которые не отображаются в интерфейсе ADCM, но могут присутствовать в конфигурационном файле livy.conf |
— |
livy-env.sh |
Содержимое файла livy-env.sh, который используется для инициализации переменных окружения, необходимых для работы Spark3 Livy Server |
|
spark-history-env.sh |
Cодержимое файла spark-history-env.sh, который используется для инициализации переменных окружения, необходимых для работы Spark History Server |
|
Ranger plugin enabled |
Включает или отключает плагин Ranger |
false |
| Параметр | Описание | Значение по умолчанию |
|---|---|---|
adb_spark3_connector |
Версия пакета adb-spark3-connector |
1.0.5_3.5.x |
adqm_spark3_connector |
Версия пакета adqm-spark3-connector |
1.0.0_3.5.x |
adh_pyspark |
Версия пакета adh-pyspark |
3.10.4 |