全部产品
Search
文档中心

E-MapReduce:Contoh konfigurasi Livy Gateway

更新时间:Nov 22, 2025

Topik ini menjelaskan secara rinci file konfigurasi inti dan parameter Livy untuk membantu Anda mengonfigurasi Livy Gateway dengan benar serta menggunakan fitur terkait di Alibaba Cloud EMR Serverless Spark.

spark-defaults.conf

Tujuan

File spark-defaults.conf menetapkan parameter default untuk pekerjaan Spark yang dikirim melalui Livy Gateway. Saat pengguna membuat pekerjaan batch Livy atau sesi, nilai default ini akan diterapkan secara otomatis jika parameter tertentu tidak didefinisikan secara eksplisit.

Contoh konfigurasi

Berikut adalah beberapa konfigurasi parameter default umum.

spark.driver.cores 2
spark.driver.memory 7g
spark.dynamicAllocation.enabled true
spark.dynamicAllocation.initialExecutors 2
spark.dynamicAllocation.maxExecutors 100
spark.dynamicAllocation.minExecutors 1

Deskripsi parameter adalah sebagai berikut:

  • spark.driver.cores dan spark.driver.memory: Menentukan jumlah core CPU dan ukuran memori untuk Driver.

  • Parameter alokasi sumber daya dinamis:

    • spark.dynamicAllocation.enabled=true: Mengaktifkan alokasi sumber daya dinamis.

    • spark.dynamicAllocation.minExecutors dan spark.dynamicAllocation.maxExecutors: Membatasi jumlah minimum dan maksimum Executor.

    • spark.dynamicAllocation.initialExecutors: Jumlah awal Executor yang dialokasikan.

Parameter tambahan yang didukung

Parameter tambahan yang didukung mengacu pada fitur tambahan atau item konfigurasi ekstensi yang disediakan oleh Alibaba Cloud EMR Serverless Spark guna meningkatkan keamanan, fleksibilitas, dan kinerja sistem. Parameter ini umumnya dirancang untuk skenario tertentu, seperti lingkungan multitenancy dan pengelolaan izin, untuk membantu pengguna mengontrol perilaku tugas serta alokasi sumber daya secara lebih efektif.

Parameter

Deskripsi

spark.livy.proxyUser

Digunakan untuk menentukan proxy user saat mengirim pekerjaan Spark. Nilai defaultnya adalah root.

Parameter ini hanya berlaku ketika livy.impersonation.enabled di livy.conf disetel ke true. Saat digunakan bersama dengan spark-blacklist.conf, dapat mencegah pengguna memodifikasi parameter proxyUser, memastikan keamanan.

livy.conf

Tujuan

File livy.conf adalah file konfigurasi inti untuk Livy, digunakan untuk mendefinisikan perilaku global Livy Gateway, termasuk metode autentikasi, pengaturan timeout, manajemen sesi, dan lainnya.

Parameter utama

Parameter

Deskripsi

livy.impersonation.enabled

Apakah mengizinkan pengguna untuk menyamar sebagai pengguna Spark melalui parameter proxyUser. Nilai defaultnya adalah false.

livy.server.session.timeout

Periode batas waktu sesi. Sesi inaktif yang melebihi durasi ini akan ditutup secara otomatis. Nilai defaultnya adalah 2h.

livy.server.session.timeout-check

Apakah memeriksa sesi yang timeout. Nilai defaultnya adalah true.

Jika disetel ke false, sesi tidak akan ditutup secara otomatis meskipun telah timeout.

livy.server.session.timeout-check.skip-busy

Apakah melewati sesi sibuk saat memeriksa sesi yang timeout. Jika dilewati, sesi yang sedang mengeksekusi tugas tidak akan ditutup. Nilai defaultnya adalah true.

livy.server.auth.type

Menentukan metode autentikasi untuk Livy Gateway. Sebagai contoh, atur ke ldap saat mengaktifkan autentikasi LDAP.

livy.server.auth.ldap.url

Alamat LDAP. Sebagai contoh, ldap://master-1-1.c-xxxxxxxxxxxxx.cn-hangzhou.emr.aliyuncs.com:10389.

livy.server.auth.ldap.base-dn

LDAP base DN. Sebagai contoh, ou=people,o=emr.

livy.server.auth.ldap.enable-start-tls

Apakah mengaktifkan enkripsi TLS untuk LDAP. Nilai defaultnya adalah false.

livy.server.auth.ldap.security-authentication

Metode otentikasi keamanan LDAP. Nilai defaultnya adalah simple.

livy.server.session.state-retain.sec

Jangka waktu retensi sesi yang selesai di dalam memori. Nilai defaultnya adalah 600s.

livy.server.session.max-creation

Jumlah maksimum sesi yang dapat dibuat secara bersamaan. Nilai defaultnya adalah 100.

livy.server.session.user.max-creation

Membatasi jumlah sesi yang dapat dibuat oleh setiap pengguna. Parameter ini hanya berlaku ketika livy.impersonation.enabled diatur ke true. Sebagai contoh, livy.server.session.user.max-creation {"alice": 6, "bob": 2, "default": 5} berarti Alice dapat membuat maksimal enam sesi bersamaan, Bob dapat membuat maksimal dua, dan pengguna lain dapat membuat maksimal lima.

livy-client.conf

Tujuan

File livy-client.conf mendefinisikan parameter runtime dari klien HTTP Livy, terutama digunakan untuk mengoptimalkan perilaku interaksi antara klien dan Livy Gateway.

Parameter utama

Parameter

Deskripsi

livy.rsc.retained-statements

Jumlah maksimum pernyataan yang disimpan di dalam memori sesi. Nilai defaultnya adalah 100.

livy.rsc.sql.num-rows

Jumlah maksimum baris yang dikembalikan oleh interpreter SQL. Nilai defaultnya adalah 1000.

spark-blacklist.conf

Tujuan

File spark-blacklist.conf membatasi parameter yang tidak diizinkan untuk diubah oleh pengguna dalam tugas yang dikirim melalui Livy Gateway. Parameter yang terdaftar dalam daftar hitam akan diabaikan secara paksa oleh sistem, dan pengguna tidak dapat memodifikasi parameter tersebut.

Contoh konfigurasi

Berikut adalah beberapa contoh parameter daftar hitam umum.

spark.driver.cores
spark.driver.memory
spark.executor.cores
spark.executor.memory

Konfigurasi ini menunjukkan bahwa pengguna tidak dapat menetapkan sendiri sumber daya (seperti core CPU dan ukuran memori) untuk Spark Driver dan Executor, sehingga mencegah penyalahgunaan sumber daya.

Parameter tambahan yang didukung

File spark-blacklist.conf juga mendukung parameter tambahan berikut untuk lebih meningkatkan keamanan dan stabilitas tugas.

Parameter

Deskripsi

spark.livy.ttl

Mencegah pengguna menetapkan masa hidup data (TTL) untuk sesi.

Memastikan bahwa TTL sesi dikelola secara seragam oleh administrator, menghindari pemborosan sumber daya atau gangguan tugas akibat pengguna menetapkan TTL terlalu lama atau terlalu pendek.

spark.livy.queue

Mencegah pengguna menetapkan antrian untuk pengiriman tugas.

Semua tugas menggunakan antrian default Livy Gateway, menghindari alokasi sumber daya yang tidak merata akibat pengguna memilih antrian secara sembarangan.

spark.livy.proxyUser

Mencegah pengguna menetapkan proxy user. Defaultnya adalah pengguna root.