View a markdown version of this page

Menggunakan klasifikasi default wadah Amazon EMR - Amazon EMR

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Menggunakan klasifikasi default wadah Amazon EMR

Gambaran umum

Pengaturan berikut tersedia di bawah emr-containers-defaults klasifikasi:

job-start-timeout

Secara default, pekerjaan akan habis jika tidak dapat dimulai dan menunggu dalam SUBMITTED keadaan selama 15 menit. Konfigurasi ini mengubah jumlah detik untuk menunggu sebelum waktu pekerjaan habis.

executor.logging

Mengaktifkan atau menonaktifkan logging pada pod eksekutor. Ketika ini disetel DISABLED ke wadah logging dihapus dari pod eksekutor, yang akan menonaktifkan pencatatan apa pun untuk pod ini yang ditentukan dalammonitoringConfiguration, seperti s3MonitoringConfiguration ataucloudWatchMonitoringConfiguration. Bila pengaturan ini tidak disetel atau disetel ke nilai lain, log pada pod eksekutor diaktifkan.

logging.image

Menetapkan image kustom yang akan digunakan untuk wadah logging pada driver dan pod eksekutor.

logging.request.cores

Menetapkan nilai kustom untuk jumlah CPU, dalam unit CPU, untuk wadah logging pada driver dan pod eksekutor. Secara default, ini tidak disetel.

logging.request.memory

Menetapkan nilai kustom untuk jumlah memori, dalam byte, untuk wadah logging pada driver dan pod eksekutor. Secara default, ini diatur ke 512Mi. Mebibyte adalah satuan ukuran yang mirip dengan megabyte.

logging.eventLog.dir

Gunakan konfigurasi ini untuk mengaktifkan UI Aplikasi Persistent dan menyimpan log peristiwa Spark ke lokasi S3 Anda sendiri. Set logging.eventLog.dir el ke jalur S3 untuk log peristiwa Anda. DimonitoringConfiguration, atur persistentAppUI keENABLED. Jangan mengatur spark.eventLog.dir saat Anda menggunakanlogging.eventLog.dir; kedua konfigurasi ini tidak kompatibel. Jika spark.eventLog.dir disetel, konfigurasi tersebut diprioritaskan dan wadah logging tidak dapat mereplikasi log peristiwa Spark. Ini berarti lokasi S3 Anda yang ditentukan oleh logging.eventLog.dir tidak akan menerima log peristiwa dan UI Aplikasi Persisten juga tidak akan berfungsi.

logging.nativeSidecar

Saat Anda menyetel properti ini ENABLED untuk Amazon EMR rilis 6.8.0 atau lebih tinggi, Amazon EMR mengonfigurasi wadah logging pada driver Spark dan pod eksekutor Anda sebagai wadah sidecar Kubernetes asli (lihat detail di Kubernetes situs web), bukan wadah biasa. Ini berarti wadah logging secara otomatis memulai ulang pada kegagalan dan kegagalan penampung log tidak akan menyebabkan pod gagal.

Persyaratan versi simpul

Node Amazon EKS Anda harus menjalankan Kubernetes versi 1.29 atau lebih tinggi. Versi cluster EKS Anda dapat berbeda dari versi node Anda. Jika node Anda menjalankan versi yang lebih rendah dari 1.29, fitur sidecar asli Kubernetes tidak mengaktifkan dan penampung logging mencegah driver memulai, yang menyebabkan batas waktu pekerjaan.

Contoh klasifikasi pengirim pekerjaan

StartJobRunpermintaan dengan batas waktu pekerjaan khusus

{ "name": "spark-python", "virtualClusterId": "virtual-cluster-id", "executionRoleArn": "execution-role-arn", "releaseLabel": "emr-6.11.0-latest", "jobDriver": { "sparkSubmitJobDriver": { "entryPoint": "s3://S3-prefix/trip-count.py" } }, "configurationOverrides": { "applicationConfiguration": [ { "classification": "emr-containers-defaults", "properties": { "job-start-timeout": "1800" } } ], "monitoringConfiguration": { "cloudWatchMonitoringConfiguration": { "logGroupName": "/emr-containers/jobs", "logStreamNamePrefix": "demo" }, "s3MonitoringConfiguration": { "logUri": "s3://joblogs" } } } }

StartJobRunpermintaan dengan logging dinonaktifkan untuk pod eksekutor

"configurationOverrides": { "applicationConfiguration": [ { "classification": "emr-containers-defaults", "properties": { "executor.logging": "DISABLED" } } ], "monitoringConfiguration": { "cloudWatchMonitoringConfiguration": { "logGroupName": "/emr-containers/jobs", "logStreamNamePrefix": "demo" }, "s3MonitoringConfiguration": { "logUri": "s3://joblogs" } } }

StartJobRunpermintaan dengan gambar wadah logging khusus, CPU, dan memori untuk pod driver dan eksekutor

"configurationOverrides": { "applicationConfiguration": [ { "classification": "emr-containers-defaults", "properties": { "logging.image": "YOUR_ECR_IMAGE_URL", "logging.request.memory": "200Mi", "logging.request.cores": "0.5" } } ], "monitoringConfiguration": { "cloudWatchMonitoringConfiguration": { "logGroupName": "/emr-containers/jobs", "logStreamNamePrefix": "demo" }, "s3MonitoringConfiguration": { "logUri": "s3://joblogs" } } }
catatan

Jika wadah logging Fluentd mengalami kesalahan OOM (OOM), tingkatkan nilainya. logging.request.memory Misalnya, atur untuk mengalok 1Gi asikan lebih banyak memori ke wadah logging dan mencegah masalah OOM.

StartJobRunpermintaan dengan log peristiwa Spark tujuan Amazon S3

Contoh berikut menyimpan log peristiwa Spark ke bucket Amazon S3 Anda sendiri sambil juga mengaktifkan UI Aplikasi Persistent. Peng persistentAppUI aturannya ENABLED secara default.

"configurationOverrides": { "applicationConfiguration": [ { "classification": "emr-containers-defaults", "properties": { "logging.eventLog.dir": "s3://my-bucket/event-logs/" } } ], "monitoringConfiguration": { "persistentAppUI": "ENABLED" } }
catatan

Jangan mengatur spark.eventLog.dir spark-defaults klasifikasi saat Anda menggunakanlogging.eventLog.dir. Kedua konfigurasi ini tidak kompatibel. Jika spark.eventLog.dir disetel, konfigurasi tersebut diprioritaskan dan wadah logging tidak dapat mereplikasi log peristiwa Spark. Ini berarti lokasi S3 Anda yang ditentukan oleh logging.eventLog.dir tidak akan menerima log peristiwa dan UI Aplikasi Persisten juga tidak akan berfungsi.

StartJobRunpermintaan dengan pencatatan sidecar asli

Contoh berikut mengaktifkan mode sidecar asli untuk wadah logging pada driver Spark dan pod eksekutor. Saat diaktifkan, wadah logging berjalan sebagai sidecar Kubernetes asli yang secara otomatis memulai ulang saat gagal dan tidak memengaruhi status pod Spark Anda.

"configurationOverrides": { "applicationConfiguration": [ { "classification": "emr-containers-defaults", "properties": { "logging.nativeSidecar": "ENABLED" } } ], "monitoringConfiguration": { "s3MonitoringConfiguration": { "logUri": "s3://my-bucket/logs/" } } }
Persyaratan versi simpul

Node Amazon EKS Anda harus menjalankan Kubernetes versi 1.29 atau lebih tinggi. Versi cluster EKS Anda dapat berbeda dari versi node Anda. Jika node Anda menjalankan versi yang lebih rendah dari 1.29, fitur sidecar asli Kubernetes tidak mengaktifkan dan penampung logging mencegah driver memulai, yang menyebabkan batas waktu pekerjaan.