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 yang lebih baru, Anda dapat mengaktifkan fitur rotasi log kontainer Spark untuk Amazon EMR di EKS. Alih-alih menghasilkan file tunggal stdout
atau stderr
log, fitur ini memutar file berdasarkan ukuran rotasi yang 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 berhari-hari dan ruang disk terbatas pada node Kubernetes, file log kontainer dapat menggunakan semua ruang disk yang tersedia. Saat Anda mengaktifkan rotasi log kontainer Spark, Anda membagi file log menjadi beberapa file, dan menghapus file tertua.
Untuk mengaktifkan fitur rotasi log kontainer Spark, konfigurasikan parameter Spark berikut:
containerLogRotationConfiguration
-
Sertakan parameter ini
monitoringConfiguration
untuk mengaktifkan rotasi log. Ini dinonaktifkan secara default. Anda harus menggunakancontainerLogRotationConfiguration
selains3MonitoringConfiguration
. rotationSize
-
rotationSize
Parameter menentukan ukuran file untuk rotasi log. Kisaran nilai yang mungkin adalah dari2KB
ke2GB
. Bagian unit numerik darirotationSize
parameter dilewatkan sebagai bilangan bulat. Karena nilai desimal tidak didukung, Anda dapat menentukan ukuran rotasi 1,5GB, misalnya, dengan nilai.1500MB
maxFilesToKeep
-
maxFilesToKeep
Parameter menentukan jumlah maksimum file untuk disimpan dalam wadah setelah rotasi telah terjadi. Nilai minimum adalah 1, dan nilai maksimum adalah 50.
Anda dapat menentukan parameter ini dalam bagian monitoringConfiguration
dari API StartJobRun
, seperti yang ditunjukkan contoh berikut. Dalam contoh ini, dengan rotationSize = "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 dengan rotasi log kontainer Spark, sertakan jalur ke file json yang Anda konfigurasikan dengan parameter ini dalam perintah. StartJobRun
aws emr-containers start-job-run \ --cli-input-json file://
path-to-json-request-file