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
SUBMITTEDkeadaan 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
DISABLEDke wadah logging dihapus dari pod eksekutor, yang akan menonaktifkan pencatatan apa pun untuk pod ini yang ditentukan dalammonitoringConfiguration, sepertis3MonitoringConfigurationataucloudWatchMonitoringConfiguration. 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.direl ke jalur S3 untuk log peristiwa Anda. DimonitoringConfiguration, aturpersistentAppUIkeENABLED. Jangan mengaturspark.eventLog.dirsaat Anda menggunakanlogging.eventLog.dir; kedua konfigurasi ini tidak kompatibel. Jikaspark.eventLog.dirdisetel, konfigurasi tersebut diprioritaskan dan wadah logging tidak dapat mereplikasi log peristiwa Spark. Ini berarti lokasi S3 Anda yang ditentukan olehlogging.eventLog.dirtidak akan menerima log peristiwa dan UI Aplikasi Persisten juga tidak akan berfungsi. -
logging.nativeSidecar -
Saat Anda menyetel properti ini
ENABLEDuntuk 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
Dalam bagian ini
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.