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, pilih cara EMR Tanpa Server menyimpan dan menyajikan log aplikasi. Saat Anda mengirimkan pekerjaan, tentukan penyimpanan terkelola, Amazon S3, dan Amazon CloudWatch sebagai opsi pencatatan Anda.
Dengan CloudWatch, tentukan jenis log dan lokasi log yang ingin Anda gunakan, atau terima tipe 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 mencantumkan 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 |
|
Buket 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 bawaan UIs.
Logging untuk EMR Tanpa Server dengan penyimpanan terkelola
Secara default, EMR Tanpa Server menyimpan log aplikasi dengan aman di penyimpanan terkelola Amazon EMR selama maksimal 30 hari.
catatan
Jika Anda mematikan opsi default, Amazon EMR tidak dapat memecahkan masalah pekerjaan Anda atas nama Anda. Contoh: Anda tidak dapat mengakses Spark-UI dari Konsol Tanpa Server EMR.
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.
{ "monitoringConfiguration": { "managedPersistenceMonitoringConfiguration": { "enabled": false } } }
Jika aplikasi EMR Tanpa Server Anda berada dalam subnet pribadi dengan titik akhir VPC untuk Amazon S3 dan Anda melampirkan kebijakan titik akhir untuk mengontrol akses, tambahkan izin berikut untuk EMR Tanpa Server untuk menyimpan dan menyajikan log aplikasi. Ganti Resource dengan AppInfo bucket dari tabel wilayah yang tersedia dalam Kebijakan sampel untuk subnet pribadi yang mengakses Amazon S3.
Selain itu, gunakan tombol aws:SourceVpc kondisi untuk memastikan bahwa permintaan berjalan melalui VPC tempat titik akhir VPC dilampirkan.
Logging untuk EMR Tanpa Server dengan bucket Amazon S3
Sebelum pekerjaan Anda dapat mengirim data log ke Amazon S3, sertakan izin berikut dalam kebijakan izin untuk peran runtime pekerjaan. Ganti dengan nama bucket logging Anda.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>'
Log driver percikan disimpan di jalur berikut oleh EMR Tanpa Server
'/applications/<applicationId>/jobs/<jobId>/SPARK_DRIVER/'
Log pelaksana Spark disimpan di jalur berikut oleh EMR Tanpa Server
'/applications/<applicationId>/jobs/<jobId>/SPARK_EXECUTOR/<EXECUTOR-ID>'
<EXECUTOR-ID>Ini adalah bilangan bulat.
EMR Serverless merilis 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 Serverless 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, pilih 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.
EMR Tanpa Server menyediakan pencatatan waktu nyata untuk log driver. Anda dapat mengakses log secara real time dengan kemampuan CloudWatch live tail, atau melalui perintah ekor CloudWatch CLI.
Secara default, CloudWatch logging dinonaktifkan untuk EMR Tanpa Server. Untuk mengaktifkannya, gunakan 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, sertakan izin berikut dalam kebijakan izin untuk peran runtime pekerjaan.
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, berikan juga nama grup log, nama awalan aliran log, jenis log, dan ARN kunci enkripsi.
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
EMR Serverless merilis 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 EMR Tanpa Server:
{ "monitoringConfiguration": { "cloudWatchLoggingConfiguration": { "enabled": true } } }
Contoh berikut menunjukkan semua konfigurasi wajib dan opsional yang menentukan saat Anda mengaktifkan CloudWatch pencatatan Amazon untuk EMR Tanpa Server. logTypesNilai yang didukung juga tercantum dalam contoh berikut 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, tentukan peran kontainer dan jenis log yang sesuai dengan logTypes bidang tersebut.
Daftar berikut menunjukkan tipe pekerja yang didukung yang menentukan 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"]
-