

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

# Mengelola pekerjaan berjalan dengan AWS CLI
<a name="emr-eks-jobs-CLI"></a>

Topik ini mencakup cara mengelola pekerjaan berjalan dengan AWS Command Line Interface (AWS CLI). Ini masuk ke detail mengenai properti, seperti parameter keamanan, driver, dan berbagai pengaturan penggantian. Ini juga mencakup subtopik yang mencakup berbagai cara untuk mengonfigurasi logging.

**Topics**
+ [Pilihan untuk mengonfigurasi tugas berjalan](#emr-eks-jobs-parameters)
+ [Konfigurasikan pekerjaan yang dijalankan untuk menggunakan log Amazon S3](emr-eks-jobs-s3.md)
+ [Mengonfigurasi pekerjaan yang dijalankan untuk menggunakan Amazon CloudWatch Logs](emr-eks-jobs-cloudwatch.md)
+ [Daftar tugas berjalan](#emr-eks-jobs-list)
+ [Jelaskan tugas berjalan](#emr-eks-jobs-describe)
+ [Membatalkan tugas berjalan](#emr-eks-jobs-cancel)

## Pilihan untuk mengonfigurasi tugas berjalan
<a name="emr-eks-jobs-parameters"></a>

Gunakan opsi berikut untuk mengonfigurasi parameter tugas berjalan:
+ `--execution-role-arn`: Anda harus menyediakan IAM role yang digunakan untuk menjalankan tugas. Untuk informasi selengkapnya, lihat [Menggunakan peran eksekusi tugas dengan Amazon EMR di EKS](iam-execution-role.md). 
+ `--release-label`: Anda dapat menyebarkan Amazon EMR di EKS dengan Amazon EMR versi 5.32.0 dan 6.2.0 dan lebih baru. Amazon EMR di EKS tidak didukung dalam versi rilis Amazon EMR sebelumnya. Untuk informasi selengkapnya, lihat [Amazon EMR pada rilis EKS](emr-eks-releases.md). 
+ `--job-driver`: Driver tugas digunakan untuk memberikan input pada tugas utama. Ini adalah bidang jenis serikat di mana Anda hanya dapat meloloskan salah satu nilai untuk jenis tugas yang ingin Anda jalankan. Jenis tugas yang didukung meliputi:
  + Tugas Spark submit - Digunakan untuk menjalankan perintah melalui Spark submit. Anda dapat menggunakan jenis pekerjaan ini untuk menjalankan Scala,, SparkR PySpark, SparkSQL, dan pekerjaan lain yang didukung melalui Spark Submit. Tugas ini memiliki parameter berikut:
    + Entrypoint - Ini adalah referensi HCFS (sistem file yang kompatibel dengan Hadoop) ke file utama jar/py yang ingin Anda jalankan.
    + EntryPointArguments - Ini adalah array argumen yang ingin Anda lewatkan ke jar/py file utama Anda. Anda harus menangani membaca parameter ini menggunakan kode entrypoint Anda. Setiap argumen dalam array harus dipisahkan dengan koma. EntryPointArguments tidak dapat berisi tanda kurung atau tanda kurung, seperti (), \$1\$1, atau []. 
    + SparkSubmitParameters - Ini adalah parameter percikan tambahan yang ingin Anda kirim ke pekerjaan. Gunakan parameter ini untuk menimpa properti default Spark seperti memori driver atau jumlah pelaksana seperti —conf atau —class. Untuk informasi tambahan, lihat [Peluncuran Aplikasi dengan spark-submit](https://spark.apache.org/docs/latest/submitting-applications.html#launching-applications-with-spark-submit).
  + Spark SQL jobs - Digunakan untuk menjalankan file query SQL melalui Spark SQL. Anda dapat menggunakan jenis pekerjaan ini untuk menjalankan pekerjaan SparkSQL. Tugas ini memiliki parameter berikut:
    + Entrypoint - Ini adalah referensi HCFS (sistem file yang kompatibel dengan Hadoop) ke file query SQL yang ingin Anda jalankan.

      Untuk daftar parameter Spark tambahan yang dapat Anda gunakan untuk pekerjaan Spark SQL, lihat. [Menjalankan skrip Spark SQL melalui API StartJobRun](emr-eks-jobs-spark-sql-parameters.md)
+ `--configuration-overrides`: Anda dapat menimpa konfigurasi default untuk aplikasi dengan menyediakan objek konfigurasi. Anda dapat menggunakan sintaks singkatan untuk menyediakan konfigurasi atau Anda dapat mereferensikan objek konfigurasi dalam file JSON. Objek konfigurasi terdiri dari klasifikasi, properti, dan konfigurasi bersarang opsional. Properti terdiri dari pengaturan yang ingin Anda timpa dalam file tersebut. Anda dapat menentukan beberapa klasifikasi untuk beberapa aplikasi dalam objek JSON tunggal. Klasifikasi konfigurasi yang tersedia bervariasi berdasarkan versi rilis Amazon EMR. Untuk daftar klasifikasi konfigurasi yang tersedia untuk setiap versi rilis Amazon EMR, lihat [Amazon EMR pada rilis EKS](emr-eks-releases.md).

  Jika Anda melewati konfigurasi yang sama dalam penimpaan aplikasi dan di parameter kirim Spark, parameter kirim Spark diutamakan. Daftar prioritas konfigurasi lengkap mengikuti, dalam urutan prioritas tertinggi ke prioritas terendah.
  + Konfigurasi disediakan saat membuat `SparkSession`.
  + Konfigurasi disediakan sebagai bagian dari `sparkSubmitParameters` menggunakan `—conf`.
  + Konfigurasi disediakan sebagai bagian dari penimpaan aplikasi.
  + Konfigurasi yang dioptimalkan dipilih oleh Amazon EMR untuk rilisan.
  + Konfigurasi sumber terbuka default untuk aplikasi.

  Untuk memantau pekerjaan berjalan menggunakan Amazon CloudWatch atau Amazon S3, Anda harus memberikan detail konfigurasi untuk. CloudWatch Untuk informasi selengkapnya, lihat [Konfigurasikan pekerjaan yang dijalankan untuk menggunakan log Amazon S3](emr-eks-jobs-s3.md) dan [Mengonfigurasi pekerjaan yang dijalankan untuk menggunakan Amazon CloudWatch Logs](emr-eks-jobs-cloudwatch.md). Jika bucket S3 atau grup CloudWatch log tidak ada, Amazon EMR membuatnya sebelum mengunggah log ke bucket.
+ Untuk daftar tambahan opsi konfigurasi Kubernetes, lihat [Properti Spark di Kubernetes](https://spark.apache.org/docs/latest/running-on-kubernetes.html#configuration). 

  Konfigurasi Spark berikut tidak didukung.
  + `spark.kubernetes.authenticate.driver.serviceAccountName`
  + `spark.kubernetes.authenticate.executor.serviceAccountName`
  + `spark.kubernetes.namespace`
  + `spark.kubernetes.driver.pod.name`
  + `spark.kubernetes.container.image.pullPolicy`
  + `spark.kubernetes.container.image`
**catatan**  
Anda dapat menggunakan `spark.kubernetes.container.image` untuk gambar Docker yang disesuaikan. Untuk informasi selengkapnya, lihat [Menyesuaikan gambar Docker untuk Amazon EMR di EKS](docker-custom-images.md).

# Konfigurasikan pekerjaan yang dijalankan untuk menggunakan log Amazon S3
<a name="emr-eks-jobs-s3"></a>

Untuk dapat memantau kemajuan pekerjaan dan memecahkan masalah kegagalan, Anda harus mengonfigurasi pekerjaan Anda untuk mengirim informasi log ke Amazon S3, Amazon Log, CloudWatch atau keduanya. Topik ini membantu Anda mulai menerbitkan log aplikasi ke Amazon S3 pada pekerjaan Anda yang diluncurkan dengan Amazon EMR di EKS.

**S3 log kebijakan IAM**

Sebelum tugas Anda dapat mengirim data log ke Amazon S3, izin berikut harus disertakan dalam kebijakan perizinan untuk peran eksekusi tugas. Ganti *amzn-s3-demo-logging-bucket* dengan nama bucket logging Anda.

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "s3:PutObject",
        "s3:GetObject",
        "s3:ListBucket"
      ],
      "Resource": [
        "arn:aws:s3:::amzn-s3-demo-bucket",
        "arn:aws:s3:::amzn-s3-demo-bucket/*"
      ],
      "Sid": "AllowS3Putobject"
    }
  ]
}
```

------

**catatan**  
Amazon EMR di EKS juga dapat membuat bucket Amazon S3. Jika bucket Amazon S3 tidak tersedia, sertakan `“s3:CreateBucket”` izin tersebut dalam kebijakan IAM.

Setelah Anda memberi peran eksekusi izin yang tepat untuk mengirim log ke Amazon S3, data log Anda dikirim ke lokasi Amazon S3 berikut `s3MonitoringConfiguration` saat diteruskan di `monitoringConfiguration` bagian permintaan, seperti `start-job-run` yang ditunjukkan pada. [Mengelola pekerjaan berjalan dengan AWS CLI](emr-eks-jobs-CLI.md)
+ Log Pengirim -//*virtual-cluster-id*/jobs/ /containers/*logUri*/(*job-id*stderr.gz/stdout.gz) *pod-name*
+ Log Driver -//*virtual-cluster-id*/jobs/ *logUri* *job-id* /containers/ /spark- -driver/ (*spark-application-id*stderr.gz/stdout.gz) *job-id*
+ Log Pelaksana -//*virtual-cluster-id*/jobs/ *logUri* *job-id* /containers///(*spark-application-id*stderr.gz/stdout.gz) *executor-pod-name*

# Mengonfigurasi pekerjaan yang dijalankan untuk menggunakan Amazon CloudWatch Logs
<a name="emr-eks-jobs-cloudwatch"></a>

Untuk memantau kemajuan pekerjaan dan memecahkan masalah kegagalan, Anda harus mengonfigurasi pekerjaan Anda untuk mengirim informasi log ke Amazon S3, Amazon Log, CloudWatch atau keduanya. Topik ini membantu Anda mulai menggunakan CloudWatch Log pada pekerjaan Anda yang diluncurkan dengan Amazon EMR di EKS. Untuk informasi selengkapnya tentang CloudWatch Log, lihat [Memantau File Log](https://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/WhatIsCloudWatchLogs.html) di Panduan CloudWatch Pengguna Amazon.

**CloudWatch Log kebijakan IAM**

Agar pekerjaan Anda dapat mengirim data CloudWatch log ke Log, izin berikut harus disertakan dalam kebijakan izin untuk peran eksekusi pekerjaan. Ganti *my\$1log\$1group\$1name* dan *my\$1log\$1stream\$1prefix* dengan nama grup CloudWatch log dan nama aliran log Anda, masing-masing. Amazon EMR di EKS menciptakan grup log dan stream log jika mereka tidak ada selama peran eksekusi ARN memiliki izin yang sesuai. 

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "logs:CreateLogStream",
        "logs:DescribeLogGroups",
        "logs:DescribeLogStreams"
      ],
      "Resource": [
        "arn:aws:logs:*:*:*"
      ],
      "Sid": "AllowLOGSCreatelogstream"
    },
    {
      "Effect": "Allow",
      "Action": [
        "logs:PutLogEvents"
      ],
      "Resource": [
        "arn:aws:logs:*:*:log-group:my_log_group_name:log-stream:my_log_stream_prefix/*"
      ],
      "Sid": "AllowLOGSPutlogevents"
    }
  ]
}
```

------

**catatan**  
Amazon EMR di EKS juga dapat membuat aliran log. Jika aliran log tidak ada, kebijakan IAM harus menyertakan `"logs:CreateLogGroup"` izin.

Setelah Anda memberikan izin yang tepat pada peran eksekusi, aplikasi Anda mengirimkan data lognya ke CloudWatch Log saat `cloudWatchMonitoringConfiguration` diteruskan di `monitoringConfiguration` bagian `start-job-run` permintaan, seperti yang ditunjukkan pada[Mengelola pekerjaan berjalan dengan AWS CLI](emr-eks-jobs-CLI.md).

Di `StartJobRun` API, *log\$1group\$1name * adalah nama grup log untuk CloudWatch, dan *log\$1stream\$1prefix* merupakan awalan nama aliran log untuk CloudWatch. Anda dapat melihat dan mencari log ini di Konsol Manajemen AWS.
+ Log pengirim -//*virtual-cluster-id*/jobs/ *logGroup* /containers/*logStreamPrefix*/(stderr/stdout*job-id*) *pod-name*
+ Log driver -*logGroup*//*virtual-cluster-id*/jobs/ *logStreamPrefix* *job-id* /containers/ /spark- -driver/ *spark-application-id* (stderrstdout) *job-id*
+ Log pelaksana -*logGroup*//*virtual-cluster-id*/jobs/ *logStreamPrefix* *job-id* /containers///(stderr/stdout*spark-application-id*) *executor-pod-name*

## Daftar tugas berjalan
<a name="emr-eks-jobs-list"></a>

Anda dapat menjalankan `list-job-run` untuk menunjukkan keadaan tugas berjalan, seperti yang ditunjukkan contoh berikut. 

```
aws emr-containers list-job-runs --virtual-cluster-id <cluster-id>
```

## Jelaskan tugas berjalan
<a name="emr-eks-jobs-describe"></a>

Anda dapat menjalankan `describe-job-run` untuk mendapatkan detail lebih lanjut tentang tugas, seperti status tugas, detail tugas, dan nama tugas, seperti yang ditunjukkan contoh berikut. 

```
aws emr-containers describe-job-run --virtual-cluster-id cluster-id --id job-run-id
```

## Membatalkan tugas berjalan
<a name="emr-eks-jobs-cancel"></a>

Anda dapat menjalankan `cancel-job-run` untuk membatalkan tugas berjalan, seperti yang ditunjukkan contoh berikut.

```
aws emr-containers cancel-job-run --virtual-cluster-id cluster-id --id job-run-id
```