Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Menggunakan rotasi log kontainer Spark
Dengan Amazon EMR 6.11.0 dan versi lebih baru, Anda dapat mengaktifkan fitur rotasi log kontainer Spark untuk Amazon EMR di EKS. Alih-alih menghasilkan satustdout
ataustderr
log file, fitur ini memutar file berdasarkan ukuran rotasi Anda dikonfigurasi dan menghapus file log tertua dari wadah.
Memutar log kontainer Spark dapat membantu Anda menghindari potensi masalah dengan file log Spark besar yang dihasilkan untuk pekerjaan yang berjalan lama atau streaming. Misalnya, Anda mungkin memulai pekerjaan Spark yang berjalan lama, dan driver Spark menghasilkan file log kontainer. Jika pekerjaan berjalan selama berjam-jam atau hari dan ada ruang disk terbatas pada node Kubernetes, file log kontainer dapat menggunakan semua ruang disk yang tersedia. Saat mengaktifkan rotasi log kontainer Spark, Anda membagi file log menjadi beberapa file, dan menghapus file terlama.
Untuk mengaktifkan fitur rotasi log kontainer Spark, konfigurasikan parameter Spark berikut:
containerLogRotationConfiguration
-
Sertakan parameter ini di
monitoringConfiguration
untuk mengaktifkan rotasi log. Ini dinonaktifkan secara default. Anda harus menggunakancontainerLogRotationConfiguration
selains3MonitoringConfiguration
. rotationSize
-
Yang
rotationSize
parameter menentukan ukuran file untuk rotasi log. Kisaran nilai yang mungkin adalah dari2KB
kepada2GB
. Bagian satuan numerik darirotationSize
parameter dilewatkan sebagai integer. Karena nilai desimal tidak didukung, Anda dapat menentukan ukuran rotasi 1,5GB, misalnya, dengan nilai1500MB
. maxFilesToKeep
-
Yang
maxFilesToKeep
parameter menentukan jumlah maksimum file untuk mempertahankan dalam wadah setelah rotasi telah terjadi. Nilai minimum adalah 1, dan nilai maksimumnya adalah 50.
Anda dapat menentukan parameter ini dalam bagian monitoringConfiguration
dari API StartJobRun
, seperti yang ditunjukkan contoh berikut. Dalam contoh ini, denganrotationSize = "10 MB"
danmaxFilesToKeep = 3
, Amazon EMR di EKS memutar log Anda pada 10 MB, menghasilkan file log baru, dan kemudian membersihkan file log tertua setelah jumlah file log mencapai 3.
{ "name": "
my-long-running-job
", "virtualClusterId": "123456
", "executionRoleArn": "iam_role_name_for_job_execution
", "releaseLabel": "emr-6.11.0-latest", "jobDriver": { "sparkSubmitJobDriver": { "entryPoint": "entryPoint_location
", "entryPointArguments": ["argument1", "argument2", ...
], "sparkSubmitParameters": "--classmain_class
--conf spark.executor.instances=2 --conf spark.executor.memory=2G --conf spark.executor.cores=2 --conf spark.driver.cores=1" } }, "configurationOverrides": { "applicationConfiguration": [ { "classification": "spark-defaults", "properties": { "spark.driver.memory":"2G" } } ], "monitoringConfiguration": { "persistentAppUI": "ENABLED", "cloudWatchMonitoringConfiguration": { "logGroupName": "my_log_group
", "logStreamNamePrefix": "log_stream_prefix" }, "s3MonitoringConfiguration": { "logUri": "s3://my_s3_log_location
" }, "containerLogRotationConfiguration": { "rotationSize":"10MB
", "maxFilesToKeep":"3
" } } } }
Untuk memulai pekerjaan yang dijalankan dengan rotasi log kontainer Spark, sertakan jalur ke file json yang Anda konfigurasikan dengan parameter ini diStartJobRunperintah.
aws emr-containers start-job-run \ --cli-input-json file://
path-to-json-request-file