Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Menyimpan log
Untuk memantau kemajuan pekerjaan Anda di EMR Tanpa Server dan memecahkan masalah kegagalan pekerjaan, Anda dapat memilih cara EMR Tanpa Server menyimpan dan menyajikan log aplikasi. Saat mengirimkan pekerjaan, Anda dapat menentukan penyimpanan terkelola, Amazon S3, dan Amazon CloudWatch sebagai opsi pencatatan.
Dengan CloudWatch, Anda dapat menentukan jenis log dan lokasi log yang ingin Anda gunakan, atau menerima jenis dan lokasi default. Untuk informasi lebih lanjut tentang CloudWatch log, lihatLogging untuk EMR Tanpa Server dengan Amazon CloudWatch. Dengan penyimpanan terkelola dan pencatatan S3, tabel berikut menunjukkan lokasi log dan ketersediaan UI yang dapat Anda harapkan jika Anda memilih penyimpanan terkelola, bucket Amazon S3, atau keduanya.
Opsi | Log peristiwa | Log Kontainer | UI Aplikasi |
---|---|---|---|
Penyimpanan terkelola |
Disimpan dalam penyimpanan terkelola |
Disimpan dalam penyimpanan terkelola |
Didukung |
Penyimpanan terkelola dan bucket S3 |
Disimpan di kedua tempat |
Disimpan dalam ember S3 |
Didukung |
Bucket Amazon S3 |
Disimpan dalam ember S3 |
Disimpan dalam ember S3 |
Tidak didukung 1 |
1 Kami menyarankan agar Anda tetap memilih opsi Penyimpanan Terkelola. Jika tidak, Anda tidak dapat menggunakan aplikasi bawaanUIs.
Logging untuk EMR Tanpa Server dengan penyimpanan terkelola
Secara default, EMR Tanpa Server menyimpan log aplikasi dengan aman di penyimpanan EMR terkelola Amazon selama maksimal 30 hari.
catatan
Jika Anda menonaktifkan opsi default, Amazon tidak EMR dapat memecahkan masalah pekerjaan Anda atas nama Anda.
Untuk menonaktifkan opsi ini dari EMR Studio, batalkan centang kotak Izinkan AWS untuk menyimpan log selama 30 hari di bagian Pengaturan tambahan pada halaman Kirim pekerjaan.
Untuk mematikan opsi ini dari AWS CLI, gunakan managedPersistenceMonitoringConfiguration
konfigurasi saat Anda mengirimkan pekerjaan yang dijalankan.
{ "monitoringConfiguration": { "managedPersistenceMonitoringConfiguration": { "enabled": false } } }
Logging untuk EMR Tanpa Server dengan bucket Amazon S3
Sebelum pekerjaan Anda dapat mengirim data log ke Amazon S3, Anda harus menyertakan izin berikut dalam kebijakan izin untuk peran runtime pekerjaan. Ganti
dengan nama bucket logging Anda.amzn-s3-demo-logging-bucket
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:PutObject" ], "Resource": [ "arn:aws:s3:::
amzn-s3-demo-logging-bucket
/*" ] } ] }
Untuk menyiapkan bucket Amazon S3 untuk menyimpan log dari AWS CLI, gunakan s3MonitoringConfiguration
konfigurasi saat Anda memulai menjalankan pekerjaan. Untuk melakukan ini, berikan yang berikut --configuration-overrides
dalam konfigurasi.
{ "monitoringConfiguration": { "s3MonitoringConfiguration": { "logUri": "s3://
amzn-s3-demo-logging-bucket
/logs/" } } }
Untuk pekerjaan batch yang tidak mengaktifkan percobaan ulang, EMR Serverless mengirimkan log ke jalur berikut:
'/applications/<applicationId>/jobs/<jobId>'
EMRRilis tanpa server 7.1.0 dan mendukung upaya coba lagi yang lebih tinggi untuk pekerjaan streaming dan pekerjaan batch. Jika Anda menjalankan pekerjaan dengan percobaan ulang diaktifkan, EMR Tanpa Server secara otomatis menambahkan nomor percobaan ke awalan jalur log, sehingga Anda dapat membedakan dan melacak log dengan lebih baik.
'/applications/<applicationId>/jobs/<jobId>/attempts/<attemptNumber>/'
Logging untuk EMR Tanpa Server dengan Amazon CloudWatch
Saat Anda mengirimkan pekerjaan ke aplikasi EMR Tanpa Server, Anda dapat memilih Amazon CloudWatch sebagai opsi untuk menyimpan log aplikasi Anda. Ini memungkinkan Anda untuk menggunakan fitur analisis CloudWatch log seperti Wawasan CloudWatch Log dan Live Tail. Anda juga dapat melakukan streaming log dari CloudWatch sistem lain seperti OpenSearch untuk analisis lebih lanjut.
EMRTanpa server menyediakan pencatatan waktu nyata untuk log driver. Anda dapat melihat log secara real time dengan kemampuan CloudWatch live tail, atau melalui perintah CloudWatch CLI ekor.
Secara default, CloudWatch logging dinonaktifkan untuk Tanpa EMR Server. Untuk mengaktifkannya, lihat konfigurasi diAWS CLI.
catatan
Amazon CloudWatch menerbitkan log secara real time, sehingga menghasilkan lebih banyak sumber daya dari pekerja. Jika Anda memilih kapasitas pekerja yang rendah, dampaknya terhadap waktu kerja Anda mungkin meningkat. Jika Anda mengaktifkan CloudWatch pencatatan, kami sarankan Anda memilih kapasitas pekerja yang lebih besar. Mungkin juga publikasi log dapat menghambat jika tingkat transaksi per detik (TPS) terlalu rendah. PutLogEvents
Konfigurasi CloudWatch throttling bersifat global untuk semua layanan, termasuk EMR Tanpa Server. Untuk informasi selengkapnya, lihat Bagaimana cara menentukan pembatasan di log saya? CloudWatch
Izin yang diperlukan untuk login dengan CloudWatch
Sebelum pekerjaan Anda dapat mengirim data log ke Amazon CloudWatch, Anda harus menyertakan izin berikut dalam kebijakan izin untuk peran runtime pekerjaan.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "logs:DescribeLogGroups" ], "Resource": [ "arn:aws:logs:
Wilayah AWS
:111122223333
:*" ] }, { "Effect": "Allow", "Action": [ "logs:PutLogEvents", "logs:CreateLogGroup", "logs:CreateLogStream", "logs:DescribeLogStreams" ], "Resource": [ "arn:aws:logs:Wilayah AWS
:111122223333
:log-group:my-log-group-name
:*" ] } ] }
AWS CLI
Untuk mengatur Amazon CloudWatch untuk menyimpan log untuk EMR Tanpa Server dari AWS CLI, gunakan cloudWatchLoggingConfiguration
konfigurasi saat Anda memulai menjalankan pekerjaan. Untuk melakukan ini, berikan penggantian konfigurasi berikut. Secara opsional, Anda juga dapat memberikan nama grup log, nama awalan aliran log, jenis log, dan kunci enkripsi. ARN
Jika Anda tidak menentukan nilai opsional, maka CloudWatch menerbitkan log ke grup log default/aws/emr-serverless
, dengan aliran /applications/
log default.applicationId
/jobs/jobId
/worker-type
EMRRilis tanpa server 7.1.0 dan mendukung upaya coba lagi yang lebih tinggi untuk pekerjaan streaming dan pekerjaan batch. Jika Anda mengaktifkan percobaan ulang untuk suatu pekerjaan, EMR Tanpa Server secara otomatis menambahkan nomor percobaan ke awalan jalur log, sehingga Anda dapat membedakan dan melacak log dengan lebih baik.
'/applications/
<applicationId>
/jobs/<jobId>
/attempts/<attemptNumber>
/worker-type'
Berikut ini menunjukkan konfigurasi minimum yang diperlukan untuk mengaktifkan CloudWatch pencatatan Amazon dengan pengaturan default untuk Tanpa EMR Server:
{ "monitoringConfiguration": { "cloudWatchLoggingConfiguration": { "enabled": true } } }
Contoh berikut menunjukkan semua konfigurasi wajib dan opsional yang dapat Anda tentukan saat mengaktifkan CloudWatch pencatatan Amazon untuk Tanpa EMR Server. logTypes
Nilai yang didukung juga tercantum di bawah contoh ini.
{ "monitoringConfiguration": { "cloudWatchLoggingConfiguration": { "enabled": true, // Required "logGroupName": "Example_logGroup", // Optional "logStreamNamePrefix": "Example_logStream", // Optional "encryptionKeyArn": "key-arn", // Optional "logTypes": { "SPARK_DRIVER": ["stdout", "stderr"] //List of values } } } }
Secara default, EMR Tanpa Server hanya menerbitkan stdout driver dan stderr log ke. CloudWatch Jika Anda menginginkan log lain, maka Anda dapat menentukan peran kontainer dan jenis log yang sesuai dengan logTypes
bidang tersebut.
Daftar berikut menunjukkan jenis pekerja yang didukung yang dapat Anda tentukan untuk logTypes
konfigurasi:
- Spark
-
-
SPARK_DRIVER : ["STDERR", "STDOUT"]
-
SPARK_EXECUTOR : ["STDERR", "STDOUT"]
-
- Hive
-
-
HIVE_DRIVER : ["STDERR", "STDOUT", "HIVE_LOG", "TEZ_AM"]
-
TEZ_TASK : ["STDERR", "STDOUT", "SYSTEM_LOGS"]
-