Tous les produits
Search
Centre de documentation

Lindorm:Configuration des jobs

Dernière mise à jour :Aug 11, 2026

Le système de traitement distribué Lindorm (LDPS) exécute des jobs Spark sur des pools de ressources élastiques gérés par Kubernetes. Cette rubrique répertorie tous les paramètres configurables pour les jobs Spark LDPS et explique comment les transmettre selon la méthode de soumission utilisée.

Paramètres Spark

Paramètres restreints

Les paramètres suivants sont définis par le système et ne peuvent pas être personnalisés.

Paramètre Description
spark.master Endpoint du système de gestion du cluster.
spark.submit.deployMode Mode de déploiement du pilote Spark.

Paramètres de ressource

LDPS s'exécute sur des pools de ressources élastiques facturés à l'utilisation. Par défaut, il n'y a aucune limite supérieure aux ressources qu'un job peut demander. Pour définir un maximum, consultez Modifier la configuration de LDPS.

Les paramètres de ressource s'appliquent à tous les jobs JDBC, JAR et Python soumis à LDPS. Ils sont divisés en paramètres de spécification et paramètres de capacité.

Paramètres de spécification

Paramètres de spécification de base

Paramètre Description Par défaut
spark.driver.memory Mémoire heap du pilote. Unité : mébioctets. 8192m
spark.driver.memoryOverhead Mémoire off-heap du pilote. Unité : mébioctets. 8192m
spark.kubernetes.driver.disk.size Taille du disque local du pilote. Unité : Go. 50
spark.executor.cores Cœurs CPU par exécuteur. 4
spark.executor.memory Mémoire heap par exécuteur. Unité : mébioctets. 8192m
spark.executor.memoryOverhead Mémoire off-heap par exécuteur. Unité : mébioctets. 8192m
spark.kubernetes.executor.disk.size Taille du disque local par exécuteur. Unité : Go. 50

Paramètres de spécification avancés

Paramètre Description Par défaut
spark.{driver/executor}.resourceTag Ensemble prédéfini de spécifications de ressource. Lorsqu'il est défini, LDPS applique automatiquement les valeurs correspondantes de CPU, de mémoire et de disque. Valeurs valides : xlarge, 2xlarge, 4xlarge, 8xlarge, 16xlarge. Aucune
spark.kubernetes.{driver/executor}.ecsModelPreference Modèles de nœuds de calcul préférés, listés par ordre de priorité. LDPS essaie chaque modèle séquentiellement ; si aucun n'est disponible, il sélectionne un modèle disponible correspondant à la spécification de ressource. Spécifiez jusqu'à quatre modèles, séparés par des virgules. Exemple : hfg6,g6. Aucune
spark.kubernetes.{driver/executor}.annotation.k8s.aliyun.com/eci-use-specs Spécification GPU de l'instance Elastic Container Instance (ECI). Pour les types d'instances GPU pris en charge, consultez Spécifier les types d'instances ECS pour créer des pods. ecs.gn7i-c8g1.2xlarge
spark.{driver/executor}.resource.gpu.vendor Fournisseur GPU. Doit correspondre à la spécification GPU définie dans eci-use-specs. nvidia.com
spark.{driver/executor}.resource.gpu.amount Nombre de GPU. Définissez sur 1. 1
spark.{driver/executor}.resource.gpu.discoveryScript Chemin d'accès au script de détection GPU utilisé pour identifier et lier les ressources GPU au démarrage du pilote ou de l'exécuteur. Définissez sur /opt/spark/examples/src/main/scripts/getGpusResources.sh. /opt/spark/examples/src/main/scripts/getGpusResources.sh
spark.kubernetes.executor.annotation.k8s.aliyun.com/eci-use-specs Spécification de l'instance exécuteur avec capacité de disque local étendue. Consultez les valeurs prises en charge ci-dessous. Aucune

Le paramètre spark.kubernetes.executor.annotation.k8s.aliyun.com/eci-use-specs prend en charge les spécifications d'exécuteur suivantes :

Valeur Cœurs CPU Mémoire
ecs.d1ne.2xlarge 8 32 Go
ecs.d1ne.4xlarge 16 64 Go
ecs.d1ne.6xlarge 24 96 Go
ecs.d1ne.8xlarge 32 128 Go
ecs.d1ne.14xlarge 56 224 Go
Important

Lorsque vous utilisez spark.kubernetes.executor.annotation.k8s.aliyun.com/eci-use-specs, définissez également les deux paramètres suivants :

  • spark.kubernetes.executor.volumes.emptyDir.spark-local-dir-1.mount.path=/var

  • spark.kubernetes.executor.volumes.emptyDir.spark-local-dir-1.options.medium=LocalRaid0 Si le type d'instance exécuteur spécifié n'est pas disponible, contactez le support technique Lindorm (ID DingTalk : s0s3eg3).

Mappage des spécifications resourceTag

Valeur resourceTag **spark.{driver/executor}.cores** **spark.{driver/executor}.memory** **spark.{driver/executor}.memoryOverhead** **spark.kubernetes.{driver/executor}.disk.size**
xlarge 4 8192m 8192m 50 Go
2xlarge 8 16384m 16384m 100 Go
4xlarge 16 32768m 32768m 200 Go
8xlarge 32 65536m 65536m 400 Go
16xlarge 64 131072m 131072m 400 Go

Paramètres de capacité

Paramètre Description Par défaut
spark.executor.instances Nombre d'exécuteurs alloués pour le job. 2
spark.dynamicAllocation.enabled Active l'allocation dynamique des ressources. Lorsqu'elle est activée, LDPS demande et libère automatiquement des exécuteurs en fonction de la charge de travail du job en temps réel. Valeurs valides : true, false. true
spark.dynamicAllocation.minExecutors Nombre minimum d'exécuteurs lorsque l'allocation dynamique des ressources est activée. 0
spark.dynamicAllocation.maxExecutors Nombre maximum d'exécuteurs lorsque l'allocation dynamique des ressources est activée. Cette valeur équivaut au nombre de tâches concurrentes. Infinity
spark.dynamicAllocation.executorIdleTimeout Durée pendant laquelle un exécuteur inactif est conservé avant d'être libéré. Unité : secondes. 600s

Paramètres d'exécution

Paramètre Description Par défaut
spark.speculation Active l'exécution spéculative. Lorsqu'elle est activée, le pilote resoumet les tâches qui s'exécutent significativement plus lentement que les autres tâches de la même étape (queues longues), afin d'éviter les retards du job. Valeurs valides : true, false. true
spark.task.maxFailures Nombre maximal d'échecs de tâche autorisés avant l'échec du job. 4
spark.dfsLog.executor.enabled Stocke les journaux de l'exécuteur dans LindormDFS. Définissez sur false pour les jobs à grande échelle afin de réduire la charge DFS générée par les flux de journaux. Valeurs valides : true, false. true
spark.jars Chemin d'accès au package JAR requis pour le job. Accepte les chemins OSS ou Hadoop Distributed File System (HDFS). Si vous utilisez JDBC, définissez ceci uniquement sur un chemin HDFS. Si vous utilisez un chemin OSS, configurez également les paramètres OSS ci-dessous. Aucune
spark.hadoop.fs.oss.endpoint Endpoint OSS. Pour les valeurs d'endpoint par région, consultez Régions et endpoints. Aucune
spark.hadoop.fs.oss.accessKeyId ID AccessKey de votre compte Alibaba Cloud ou utilisateur RAM. Consultez Obtenir une paire de clés AccessKey. Aucune
spark.hadoop.fs.oss.accessKeySecret Secret AccessKey de votre compte Alibaba Cloud ou utilisateur RAM. Consultez Obtenir une paire de clés AccessKey. Aucune
spark.hadoop.fs.oss.impl Classe d'implémentation du système de fichiers pour OSS. Définissez sur org.apache.hadoop.fs.aliyun.oss.AliyunOSSFileSystem. Aucune
spark.default.parallelism Parallélisme par défaut pour les tâches non SQL, y compris les lectures de source de données et les étapes de shuffle. Aucune
spark.sql.shuffle.partitions Nombre de partitions de shuffle pour les tâches SQL. 200

Paramètres de surveillance

Paramètre Description Par défaut
spark.monitor.cmd Commandes de surveillance à exécuter à intervalles réguliers. Séparez plusieurs commandes par des points-virgules (;). Les résultats sont écrits dans les journaux du job.
Remarque

Ce paramètre ne peut pas être configuré lors de la soumission de jobs via Beeline ou JDBC.

Aucune
spark.monitor.interval Intervalle entre les exécutions des commandes de surveillance. Unité : secondes. 60
spark.monitor.timeout Délai d'attente pour chaque commande de surveillance. Si une commande dépasse cette limite, elle est ignorée et la commande suivante s'exécute. Unité : secondes. 2

Exemples de commandes de surveillance :

# Single command
"spark.monitor.cmd": "top -b -n 1"

# Multiple commands
"spark.monitor.cmd": "top -b -n 1; vmstat; free -m; iostat -d -x -c -k; df -h; sar -n DEV 1 1; netstat"

Commandes de surveillance courantes par catégorie :

Catégorie Commandes
État du système top -b -n 1, vmstat
Mémoire free -m
E/S disque iostat -d -x -c -k
Utilisation du disque df -h
Réseau sar -n DEV 1 1, netstat

Paramètres de journalisation

Paramètre Description Par défaut
spark.log.level Niveau de sortie des journaux pour le job. INFO

Valeurs valides pour spark.log.level, de la plus détaillée à la moins détaillée :

Niveau Description
ALL Toutes les sorties de journal, y compris les informations de débogage les plus granulaires.
TRACE Plus détaillé que DEBUG ; enregistre les étapes d'exécution fines.
DEBUG Journaux de niveau débogage incluant l'état d'exécution détaillé.
INFO Journaux informatifs généraux pour les événements d'exécution normaux.
WARN Avertissements concernant des problèmes potentiels qui n'arrêtent pas l'exécution.
ERROR Erreurs survenant pendant l'exécution.
FATAL Erreurs critiques empêchant la poursuite du programme.
OFF Désactive toutes les sorties de journal.

Paramètres Spark open source

Pour les paramètres hérités de Spark open source, consultez Configuration Spark.

Configurer les paramètres par méthode de soumission

Lorsque vous soumettez un job à LDPS, la méthode utilisée détermine la façon dont les paramètres sont transmis.

Beeline

Modifiez conf/beeline.conf dans le répertoire du package Spark où se trouve l'outil de ligne de commande Beeline.

# LDPS endpoint
# Format: jdbc:hive2://<host>:<port>/;?token=<token>
endpoint=jdbc:hive2://ld-bp13ez23egd123****-proxy-ldps-pub.lindorm.aliyuncs.com:10009/;?token=jfjwi2453-fe39-cmkfe-afc9-01eek2j5****

# Connection credentials (default: root/root)
user=root
password=root

# Set to false to use a dedicated Spark session for this connection
shareResource=false

# Spark parameters
spark.dynamicAllocation.enabled=true
spark.dynamicAllocation.minExecutors=3

Pour la configuration complète de Beeline, consultez Prise en main.

JDBC

Ajoutez les paramètres Spark à la chaîne de connexion JDBC sous forme de paires clé-valeur après le jeton.

jdbc:hive2://<host>:<port>/;?token=<token>;spark.executor.memory=8g;spark.sql.shuffle.partitions=2

Pour le format complet de l'URL JDBC, consultez Utiliser JDBC dans le développement d'applications.

spark.jars ne peut pas être défini sur un chemin OSS lors de la soumission de jobs via JDBC. Utilisez plutôt un chemin HDFS.

Jobs JAR

Configurez les paramètres dans le modèle de job lors de la soumission d'un job Java :

Jobs Python

Configurez les paramètres dans le modèle de job lors de la soumission d'un job Python :