View a markdown version of this page

Peningkatan langkah debugging dengan Amazon EMR - Amazon EMR

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Peningkatan langkah debugging dengan Amazon EMR

Jika langkah Amazon EMR gagal dan Anda mengirimkan pekerjaan Anda menggunakan operasi API langkah dengan AMI versi 5.x atau yang lebih baru, Amazon EMR dapat mengidentifikasi dan mengembalikan akar masalah kegagalan langkah dalam beberapa kasus, bersama dengan nama berkas log yang relevan dan sebagian dari jejak tumpukan aplikasi melalui API. Misalnya, kegagalan berikut dapat diidentifikasi:

  • Kesalahan Hadoop umum seperti direktori output sudah ada, direktori input tidak ada, atau aplikasi kehabisan memori.

  • Kesalahan Java seperti aplikasi yang dikompilasi dengan versi Java yang tidak kompatibel atau dijalankan dengan kelas utama yang tidak ditemukan.

  • Masalah mengakses objek yang disimpan di Amazon S3.

Informasi ini tersedia menggunakan operasi DescribeStep dan ListSteps API. Bid FailureDetails ang yang StepSummary dikembalikan oleh operasi tersebut. Untuk mengakses FailureDetails informasi, gunakan AWS CLI, konsol, atau AWS SDK.

Console

Konsol Amazon EMR baru tidak menawarkan langkah debugging. Namun, Anda dapat melihat detail penghentian cluster dengan langkah-langkah berikut.

Untuk melihat detail kegagalan dengan konsol
  1. Masuk ke Konsol Manajemen AWS, dan buka konsol Amazon EMR di https://console.aws.amazon.com/emr.

  2. Di bawah EMR di EC2 di panel navigasi kiri, pilih Clu ster, lalu pilih cluster yang ingin Anda lihat.

  3. Perhatikan nilai Status di bagian Ring kasan halaman detail cluster. Jika status Dih entikan dengan kesalahan, arahkan kursor ke teks untuk melihat detail kegagalan cluster.

CLI
Untuk melihat detail kegagalan dengan AWS CLI
  • Untuk mendapatkan detail kegagalan untuk langkah dengan AWS CLI, gunakan describe-step perintah.

    aws emr describe-step --cluster-id j-1K48XXXXXHCB --step-id s-3QM0XXXXXM1W

    Output akan terlihat serupa dengan yang berikut ini:

    { "Step": { "Status": { "FailureDetails": { "LogFile": "s3://amzn-s3-demo-bucket/logs/j-1K48XXXXXHCB/steps/s-3QM0XXXXXM1W/stderr.gz", "Message": "org.apache.hadoop.mapred.FileAlreadyExistsException: Output directory s3://amzn-s3-demo-bucket/logs/beta already exists", "Reason": "Output directory already exists." }, "Timeline": { "EndDateTime": 1469034209.143, "CreationDateTime": 1469033847.105, "StartDateTime": 1469034202.881 }, "State": "FAILED", "StateChangeReason": {} }, "Config": { "Args": [ "wordcount", "s3://amzn-s3-demo-bucket/input/input.txt", "s3://amzn-s3-demo-bucket/logs/beta" ], "Jar": "s3://amzn-s3-demo-bucket/jars/hadoop-mapreduce-examples-2.7.2-amzn-1.jar", "Properties": {} }, "Id": "s-3QM0XXXXXM1W", "ActionOnFailure": "CONTINUE", "Name": "ExampleJob" } }