全部产品
Search
文档中心

Lindorm:Konfigurasikan parameter untuk pekerjaan

更新时间:Nov 10, 2025

Topik ini menjelaskan cara mengonfigurasi parameter untuk pekerjaan Spark dari Lindorm Distributed Processing System (LDPS).

Konfigurasikan parameter untuk pekerjaan Spark

LDPS memungkinkan Anda mengonfigurasi parameter umum untuk pekerjaan Spark, termasuk parameter terkait sumber daya, eksekusi, dan pemantauan.

Parameter terbatas

Parameter spark.master dan spark.submit.deployMode adalah parameter sistem dan tidak dapat dikustomisasi.

Parameter

Deskripsi

spark.master

Titik akhir sistem manajemen kluster.

spark.submit.deployMode

Mode di mana driver Spark diterapkan.

Parameter sumber daya

LDPS menyediakan layanan berdasarkan kolam sumber daya elastis. Secara default, jumlah maksimum sumber daya yang dapat Anda konfigurasi tidak dibatasi. Sumber daya ini ditagih berdasarkan skema bayar sesuai penggunaan. Untuk informasi lebih lanjut tentang cara mengubah jumlah maksimum sumber daya yang dapat Anda konfigurasi, lihat Upgrade/Downgrade Sumber Daya Compute Engine.

Anda dapat mengonfigurasi parameter sumber daya untuk setiap pekerjaan yang dikirimkan ke LDPS, seperti pekerjaan JDBC, JAR, atau Python. Parameter sumber daya mencakup parameter spesifikasi dan kapasitas.

Parameter spesifikasi

Parameter spesifikasi dasar

Parameter

Deskripsi

Nilai default

spark.driver.memory

Ukuran memori heap driver. Unit: MB.

8192M

spark.driver.memoryOverhead

Ukuran memori off-heap driver. Unit: MB.

8192M

spark.kubernetes.driver.disk.size

Ukuran disk lokal driver. Unit: GB.

50

spark.executor.cores

Jumlah core CPU dari satu node executor.

4

spark.executor.memory

Ukuran memori heap dari satu executor. Unit: MB.

8192M

spark.executor.memoryOverhead

Ukuran memori off-heap dari satu executor. Unit: MB.

8192M

spark.kubernetes.executor.disk.size

Ukuran disk lokal dari satu executor. Unit: GB.

50

Parameter spesifikasi lanjutan

Parameter

Deskripsi

Nilai default

spark.{driver/executor}.resourceTag

Kumpulan spesifikasi sumber daya. Nilai yang valid: xlarge, 2xlarge, 4xlarge, 8xlarge, dan 16xlarge. Sumber daya yang didefinisikan dalam kumpulan spesifikasi yang ditentukan akan dikonfigurasi secara otomatis untuk pekerjaan.

  • xlarge:

    spark.{driver/executor}.cores=4

    spark.{driver/executor}.memory=8192m

    spark.{driver/executor}.memoryOverhead=8192m

    spark.kubernetes.{driver/executor}.disk.size=50

  • 2xlarge:

    spark.{driver/executor}.cores=8

    spark.{driver/executor}.memory=16384m

    spark.{driver/executor}.memoryOverhead=16384m

    spark.kubernetes.{driver/executor}.disk.size=100

  • 4xlarge:

    spark.{driver/executor}.cores=16

    spark.{driver/executor}.memory=32768m

    spark.{driver/executor}.memoryOverhead=32768m

    spark.kubernetes.{driver/executor}.disk.size=200

  • 8xlarge:

    spark.{driver/executor}.cores=32

    spark.{driver/executor}.memory=65536m

    spark.{driver/executor}.memoryOverhead=65536m

    spark.kubernetes.{driver/executor}.disk.size=400

  • 16xlarge:

    spark.{driver/executor}.cores=64

    spark.{driver/executor}.memory=131072m

    spark.{driver/executor}.memoryOverhead=131072m

    spark.kubernetes.{driver/executor}.disk.size=400

Tidak ada

spark.kubernetes.{driver/executor}.ecsModelPreference

Model node komputasi. Parameter ini dapat dikonfigurasi bersama dengan parameter spark.{driver/executor}.resourceTag untuk mengonfigurasi model yang berbeda secara berurutan. Anda dapat mengonfigurasi hingga empat model. Contoh: spark.kubernetes.driver.ecsModelPreference=hfg6,g6.

LDPS mengajukan permohonan model berdasarkan urutan spesifikasi model. Jika semua model yang ditentukan habis stoknya, LDPS secara acak mengajukan permohonan untuk model yang tersedia berdasarkan spesifikasi sumber daya yang ditentukan.

Tidak ada

spark.kubernetes.{driver/executor}.annotation.k8s.aliyun.com/eci-use-specs

Spesifikasi dan model GPU. Untuk informasi lebih lanjut, lihat Tentukan tipe instans ECS untuk membuat pod.

ecs.gn7i-c8g1.2xlarge

spark.{driver/executor}.resource.gpu.vendor

Produsen GPU.

Catatan

Nilai parameter ini harus sesuai dengan spesifikasi GPU yang ditentukan.

nvidia.com

spark.{driver/executor}.resource.gpu.amount

Jumlah GPU.

Catatan

Setel parameter ini ke 1.

1

spark.{driver/executor}.resource.gpu.discoveryScript

Lokasi file skrip.

Catatan

File skrip yang ditentukan oleh parameter ini digunakan untuk menanyakan dan mengasosiasikan sumber daya GPU saat Anda memulai driver atau executor Spark. Atur parameter ini ke /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

Spesifikasi instance executor. Perluas disk executor untuk memastikan kapasitas yang cukup.

Spesifikasi berikut didukung:

  • ecs.d1ne.2xlarge: 8 core dan 32 GB memori.

  • ecs.d1ne.4xlarge: 16 core dan 64 GB memori.

  • ecs.d1ne.6xlarge: 24 core dan 96 GB memori.

  • ecs.d1ne.8xlarge: 32 core dan 128 GB memori.

  • ecs.d1ne.14xlarge: 56 core dan 224 GB memori.

    Catatan
    • Pilih spesifikasi instance executor berdasarkan kebutuhan Anda.

    • Anda harus mengonfigurasi dua parameter berikut bersama dengan parameter ini:

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

      • spark.kubernetes.executor.volumes.emptyDir.spark-local-dir-1.options.medium=LocalRaid0

    • Dalam beberapa kasus, executor dengan spesifikasi yang ditentukan mungkin tidak tersedia. Jika terjadi kesalahan selama konfigurasi, hubungi dukungan teknis Lindorm (ID DingTalk: s0s3eg3).

Tidak ada

Parameter kapasitas

Parameter

Deskripsi

Nilai default

spark.executor.instances

Jumlah executor yang diajukan untuk pekerjaan.

2

spark.dynamicAllocation.enabled

Menentukan apakah alokasi sumber daya dinamis diaktifkan. Nilai valid:

  • true: Diaktifkan.

  • false: Nonaktifkan alokasi sumber daya dinamis.

Setelah alokasi sumber daya dinamis diaktifkan, LDPS mengajukan dan melepaskan executor berdasarkan beban kerja real-time pekerjaan.

true

spark.dynamicAllocation.minExecutors

Jumlah minimum executor saat alokasi sumber daya dinamis diaktifkan.

0

spark.dynamicAllocation.maxExecutors

Jumlah maksimum executor saat alokasi sumber daya dinamis diaktifkan.

Catatan

Jumlah maksimum executor sama dengan jumlah tugas konkuren yang ditentukan.

Tak Terbatas

spark.dynamicAllocation.executorIdleTimeout

Periode idle maksimum untuk executor saat alokasi sumber daya dinamis diaktifkan. Jika sebuah executor idle selama periode waktu lebih lama dari nilai yang ditentukan, executor dilepaskan. Unit: detik.

600s

Parameter eksekusi

Parameter

Deskripsi

Nilai default

spark.speculation

Menentukan apakah eksekusi spekulatif diaktifkan. Nilai valid:

  • true: Aktifkan eksekusi spekulatif.

  • false: Dinonaktifkan.

Jika eksekusi tugas memerlukan waktu yang lama, driver menyerahkan ulang tugas untuk menghindari ekor panjang.

Catatan

Ekor panjang menunjukkan bahwa periode eksekusi beberapa tugas jauh lebih lama daripada tugas lainnya.

true

spark.task.maxFailures

Jumlah kegagalan maksimum yang diizinkan untuk sebuah tugas. Jika jumlah kegagalan tugas melebihi nilai ini, pekerjaan tempat tugas tersebut gagal.

4

spark.dfsLog.executor.enabled

Menentukan apakah log executor disimpan ke LindormDFS. Nilai valid:

  • true: Simpan.

  • false: Tidak menyimpan.

Jika pekerjaan di LDPS berskala besar, Anda dapat menyetel parameter ini ke false untuk mencegah beban DFS berlebih yang disebabkan oleh aliran log.

true

spark.jars

Path paket JAR yang diperlukan saat Anda mengirimkan tugas. Nilai parameter ini bisa berupa path di OSS atau HDFS.

Jika Anda menyetel parameter ini ke path OSS, Anda juga harus mengonfigurasi parameterberikut:

  • spark.hadoop.fs.oss.endpoint

  • spark.hadoop.fs.oss.accessKeyId

  • spark.hadoop.fs.oss.accessKeySecret

  • spark.hadoop.fs.oss.impl

Penting

Jika Anda menggunakan JDBC untuk terhubung ke LDFS, parameter ini hanya dapat disetel ke path HDFS.

Tidak ada

spark.hadoop.fs.oss.endpoint

Titik akhir OSS. Untuk informasi lebih lanjut tentang cara memperoleh titik akhir, lihat Wilayah dan titik akhir.

Tidak ada

spark.hadoop.fs.oss.accessKeyId

ID AccessKey dari akun Alibaba Cloud Anda atau pengguna RAM dari akun Alibaba Cloud Anda.

Untuk informasi lebih lanjut tentang cara memperoleh ID AccessKey dan Rahasia AccessKey, lihat Memperoleh pasangan AccessKey.

Tidak ada

spark.hadoop.fs.oss.accessKeySecret

Rahasia AccessKey dari akun Alibaba Cloud Anda atau pengguna RAM dari akun Alibaba Cloud Anda.

Untuk informasi lebih lanjut tentang cara memperoleh ID AccessKey dan Rahasia AccessKey, lihat Memperoleh pasangan AccessKey.

Tidak ada

spark.hadoop.fs.oss.impl

Kelas yang digunakan untuk mengakses OSS.

Atur parameter ini ke org.apache.hadoop.fs.aliyun.oss.AliyunOSSFileSystem.

Tidak ada

spark.default.parallelism

Konkurensi default untuk tugas non-SQL, termasuk konkurensi sumber data dan konkurensi shuffle.

Tidak ada

spark.sql.shuffle.partitions

Konkurensi shuffle default untuk tugas SQL.

200

Parameter pemantauan

LDFS memungkinkan Anda menggunakan parameter kustom untuk memantau status instance. Anda dapat mengonfigurasi parameter ini untuk mencatat status driver dan executor dalam log pekerjaan.

Parameter

Deskripsi

Nilai default

spark.monitor.cmd

Grup perintah untuk pemantauan pekerjaan. Pisahkan beberapa perintah dengan titik koma (;). Perintah yang ditentukan oleh parameter ini dijalankan secara berurutan pada interval reguler. Hasil eksekusi perintah dicatat dalam log pekerjaan.

Contoh perintah pemantauan:

  • Memantau status sistem: top -b -n 1, vmstat.

  • Memantau status memori: free -m.

  • Memantau status I/O: iostat -d -x -c -k.

  • Memantau status disk: df -h.

  • Memantau status jaringan: sar -n DEV 1 1, netstat.

Contoh pernyataan:

  • Konfigurasikan satu perintah pemantauan:

    "spark.monitor.cmd": "top -b -n 1"
  • Konfigurasikan beberapa perintah pemantauan:

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

Jika Anda menggunakan Beeline atau JDBC untuk mengirimkan pekerjaan, parameter ini tidak dapat dikonfigurasi.

Tidak ada

spark.monitor.interval

Interval waktu perintah dalam grup dijalankan. Unit: detik.

Perintah yang ditentukan oleh parameter spark.monitor.cmd dijalankan pada interval yang ditentukan oleh parameter ini.

60

spark.monitor.timeout

Periode timeout untuk perintah pemantauan. Unit: detik.

Jika waktu eksekusi perintah pemantauan dalam grup perintah yang ditentukan oleh parameter spark.monitor.cmd melebihi periode timeout yang ditentukan, perintah dilewati dan perintah berikutnya dijalankan. Dengan cara ini, informasi pemantauan dapat dicatat dalam log tanpa terblokir.

2

Parameter log

Parameter

Deskripsi

Nilai default

spark.log.level

Mengatur tingkat output untuk log pekerjaan.

Tingkat yang tersedia meliputi:

  • ALL: Mengeluarkan log semua tingkat, termasuk informasi debug paling rinci.

  • TRACE: Tingkat log yang lebih rinci daripada DEBUG, mencatat informasi paling granular tentang eksekusi program.

  • DEBUG: Mengeluarkan log tingkat debug, termasuk informasi status rinci selama eksekusi program.

  • INFO: Mengeluarkan log informasi umum, mencatat peristiwa penting selama eksekusi program normal.

  • ERROR: Mengeluarkan log tingkat kesalahan, mencatat kesalahan yang terjadi selama eksekusi program.

  • WARN: Mengeluarkan log tingkat peringatan, menunjukkan potensi masalah yang tidak memengaruhi eksekusi program.

  • FATAL: Mengeluarkan log tingkat kesalahan kritis, biasanya menunjukkan bahwa program tidak dapat dilanjutkan.

  • OFF: Mematikan semua output log, tidak ada informasi log yang dicatat.

INFO

Parameter terkait Spark open source

Untuk informasi lebih lanjut tentang parameter terkait Spark open source, lihat Konfigurasi Spark.

Metode konfigurasi

Saat mengirimkan pekerjaan ke LDPS, Anda dapat mengonfigurasi parameter sumber daya khusus. Metode konfigurasi bervariasi tergantung pada cara pengiriman pekerjaan.

Beeline

Anda dapat menentukan metode konfigurasi dengan memodifikasi file konfigurasi conf/beeline.conf dalam paket Spark tempat alat baris perintah Beeline berada. Untuk informasi lebih lanjut, lihat Memulai.

Berikut adalah contoh isi file konfigurasi:

# Titik akhir Lindorm Compute Engine, misalnya jdbc:hive2://123.456.XX.XX:10009/;?token=bb8a15-jaksdj-sdfjsd-ak****
endpoint=jdbc:hive2://ld-bp13ez23egd123****-proxy-ldps-pub.lindorm.aliyuncs.com:10009/;?token=jfjwi2453-fe39-cmkfe-afc9-01eek2j5****

# Nama pengguna untuk koneksi, secara default root.
user=root

# Kata sandi untuk koneksi, secara default root.
password=root

# Apakah akan berbagi sumber daya Spark antar sesi yang berbeda, secara default true.
shareResource=false

# Konfigurasi Spark normal
spark.dynamicAllocation.enabled=true
spark.dynamicAllocation.minExecutors=3

JDBC

Anda dapat mengonfigurasi parameter menggunakan string koneksi JDBC. Untuk informasi lebih lanjut tentang URL JDBC, lihat Gunakan JDBC dalam pengembangan aplikasi.

Sebagai contoh, Anda dapat menggunakan string koneksi JDBC untuk menyetel jumlah partisi shuffle Spark default menjadi 2 dan ruang memori yang digunakan oleh executor menjadi 8 GB.

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

JAR

  • Anda dapat mengonfigurasi parameter untuk pekerjaan Java berdasarkan template konten pekerjaan saat mengirimkan pekerjaan Java di konsol Lindorm. Untuk informasi lebih lanjut, lihat Kelola pekerjaan di konsol Lindorm.

  • Saat menggunakan DMS untuk mengirimkan pekerjaan Java, Anda dapat mengonfigurasi parameter kustom untuk pekerjaan di bagian konfigurasi pekerjaan halaman node pekerjaan. Untuk informasi lebih lanjut, lihat Gunakan DMS untuk mengelola pekerjaan.

Python

  • Anda dapat mengonfigurasi parameter untuk pekerjaan Python berdasarkan templat konten pekerjaan saat mengirimkan pekerjaan Python di konsol Lindorm. Untuk informasi lebih lanjut, lihat Kelola pekerjaan di konsol Lindorm.

  • Saat menggunakan DMS untuk mengirimkan pekerjaan Python, Anda dapat mengonfigurasi parameter kustom untuk pekerjaan di bagian konfigurasi pekerjaan halaman node pekerjaan. Untuk informasi lebih lanjut, lihat Gunakan DMS untuk mengelola pekerjaan.