Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Menggunakan klasifikasi pengirim pekerjaan
Ikhtisar
EMR Amazon StartJobRun berdasarkan permintaan EKS membuat pod pengirim pekerjaan (juga dikenal sebagai pod job-runner) untuk menelurkan driver Spark. Anda dapat menggunakan emr-job-submitter klasifikasi untuk mengonfigurasi pemilih node, menambahkan toleransi, menyesuaikan logging, dan membuat modifikasi lain pada pod pengirim pekerjaan.
Pengaturan berikut tersedia di bawah emr-job-submitter klasifikasi:
-
jobsubmitter.node.selector.[selectorKey] -
Menambahkan ke pemilih node dari pod pengirim pekerjaan, dengan kunci
selectorKeydan nilai sebagai nilai konfigurasi. Misalnya, Anda dapat mengaturjobsubmitter.node.selector.identifierkemyIdentifierdan pod pengirim pekerjaan akan memiliki pemilih node dengan kunciidentifierdan nilai.myIdentifierIni dapat digunakan untuk menentukan node mana pod pengirim pekerjaan dapat ditempatkan. Untuk menambahkan beberapa kunci pemilih node, atur beberapa konfigurasi dengan awalan ini. -
jobsubmitter.label.[labelKey] -
Menambahkan label pod pengirim pekerjaan, dengan kunci
labelKeydan nilai sebagai nilai konfigurasi. Untuk menambahkan beberapa label, atur beberapa konfigurasi dengan awalan ini. -
jobsubmitter.annotation.[annotationKey] -
Menambahkan anotasi pod pengirim pekerjaan, dengan kunci
annotationKeydan nilai sebagai nilai konfigurasi. Untuk menambahkan beberapa anotasi, atur beberapa konfigurasi dengan awalan ini. -
jobsubmitter.node.toleration.[tolerationKey] -
Menambahkan toleransi ke pod pengirim
pekerjaan. Secara default tidak ada toleransi yang ditambahkan ke pod. Kunci toleransi akan menjadi tolerationKeydan nilai toleransi akan menjadi nilai konfigurasi. Jika nilai konfigurasi diatur ke string yang tidak kosong, operator akan menjadiEquals. Jika nilai konfigurasi diatur ke"", maka operator akanExists. -
jobsubmitter.node.toleration.[tolerationKey].[effect] -
Menambahkan efek toleransi ke awalan
tolerationKey. Bidang ini diperlukan saat menambahkan toleransi. Nilai yang diizinkan untuk bidang efek adalahNoExecute,NoSchedule, danPreferNoSchedule. -
jobsubmitter.node.toleration.[tolerationKey].[tolerationSeconds] -
Menambahkan TolerationSeconds ke awalan.
tolerationKeyBidang opsional. Hanya berlaku ketika efeknyaNoExecute. -
jobsubmitter.scheduler.name -
Menetapkan schedulerName kustom untuk pod pengirim pekerjaan.
-
jobsubmitter.logging -
Mengaktifkan atau menonaktifkan logging pada pod pengirim pekerjaan. Ketika ini disetel ke
DISABLEDcontainer logging akan dihapus dari pod pengirim pekerjaan, yang akan menonaktifkan setiap logging untuk pod ini yang ditentukan dalammonitoringConfiguration, sepertis3MonitoringConfigurationor.cloudWatchMonitoringConfigurationKetika pengaturan ini tidak disetel atau disetel ke nilai lain, logging pada pod pengirim pekerjaan diaktifkan. -
jobsubmitter.logging.image -
Menetapkan gambar kustom yang akan digunakan untuk penampung logging pada pod pengirim pekerjaan.
-
jobsubmitter.logging.request.cores -
Menetapkan nilai kustom untuk jumlah CPUs, dalam unit CPU, untuk penampung logging pada pod pengirim pekerjaan. Secara default, ini diatur ke 100m.
-
jobsubmitter.logging.request.memory -
Menetapkan nilai kustom untuk jumlah memori, dalam byte, untuk penampung logging pada pod pengirim pekerjaan. Secara default, ini diatur ke 200Mi. Mebibyte adalah satuan ukuran yang mirip dengan megabyte.
-
jobsubmitter.container.image -
Menetapkan image kustom untuk container pod job submitter.
job-runner -
jobsubmitter.container.image.pullPolicy -
Menetapkan imagePullPolicy
container untuk job submitter pod.
Kami merekomendasikan untuk menempatkan pod pengirim pekerjaan pada Instans Sesuai Permintaan. Menempatkan pod pengirim pekerjaan pada instans Spot dapat mengakibatkan kegagalan pekerjaan jika instance tempat pod pengirim pekerjaan berjalan tunduk pada interupsi Instance Spot. Kamu juga bisa menempatkan job submitter pod dalam Availability Zone tunggal atau menggunakan label Kubernetes yang diterapkan pada node.
Contoh klasifikasi pengirim pekerjaan
Dalam bagian ini
StartJobRunpermintaan dengan penempatan node On-Demand untuk pod pengirim pekerjaan
StartJobRunpermintaan dengan label, anotasi, dan penjadwal khusus untuk pod pengirim pekerjaan
StartJobRunpermintaan dengan logging dinonaktifkan untuk pod pengirim pekerjaan
StartJobRunpermintaan dengan gambar kontainer pengirim pekerjaan khusus dan kebijakan tarik
StartJobRunpermintaan dengan penempatan node On-Demand untuk pod pengirim pekerjaan
cat >spark-python-in-s3-nodeselector-job-submitter.json << EOF { "name": "spark-python-in-s3-nodeselector", "virtualClusterId": "virtual-cluster-id", "executionRoleArn": "execution-role-arn", "releaseLabel": "emr-6.11.0-latest", "jobDriver": { "sparkSubmitJobDriver": { "entryPoint": "s3://S3-prefix/trip-count.py", "sparkSubmitParameters": "--conf spark.driver.cores=5 --conf spark.executor.memory=20G --conf spark.driver.memory=15G --conf spark.executor.cores=6" } }, "configurationOverrides": { "applicationConfiguration": [ { "classification": "spark-defaults", "properties": { "spark.dynamicAllocation.enabled":"false" } }, { "classification": "emr-job-submitter", "properties": { "jobsubmitter.node.selector.eks.amazonaws.com/capacityType": "ON_DEMAND" } } ], "monitoringConfiguration": { "cloudWatchMonitoringConfiguration": { "logGroupName": "/emr-containers/jobs", "logStreamNamePrefix": "demo" }, "s3MonitoringConfiguration": { "logUri": "s3://joblogs" } } } } EOF aws emr-containers start-job-run --cli-input-json file:///spark-python-in-s3-nodeselector-job-submitter.json
StartJobRunrequest dengan penempatan node single-AZ dan penempatan tipe instans Amazon EC2 untuk pod pengirim pekerjaan
"configurationOverrides": { "applicationConfiguration": [ { "classification": "emr-job-submitter", "properties": { "jobsubmitter.node.selector.topology.kubernetes.io/zone": "Availability Zone", "jobsubmitter.node.selector.node.kubernetes.io/instance-type":"m5.4xlarge" } } ] }
StartJobRunpermintaan dengan label, anotasi, dan penjadwal khusus untuk pod pengirim pekerjaan
"configurationOverrides": { "applicationConfiguration": [ { "classification": "emr-job-submitter", "properties": { "jobsubmitter.label.label1": "value1", "jobsubmitter.label.label2": "value2", "jobsubmitter.annotation.ann1": "value1", "jobsubmitter.annotation.ann2": "value2", "jobsubmitter.scheduler.name": "custom-scheduler" } } ] }
StartJobRunpermintaan dengan toleransi yang diterapkan pada pod pengirim pekerjaan dengan kuncidedicated, nilai, efek graviton_machinesNoExecute, dan 60 detik tolerationSeconds
"configurationOverrides": { "applicationConfiguration": [ { "classification": "emr-job-submitter", "properties": { "jobsubmitter.node.toleration.dedicated":"graviton_machines", "jobsubmitter.node.toleration.dedicated.effect":"NoExecute", "jobsubmitter.node.toleration.dedicated.tolerationSeconds":"60" } } ] }
StartJobRunpermintaan dengan logging dinonaktifkan untuk pod pengirim pekerjaan
"configurationOverrides": { "applicationConfiguration": [ { "classification": "emr-job-submitter", "properties": { "jobsubmitter.logging": "DISABLED" } } ], "monitoringConfiguration": { "cloudWatchMonitoringConfiguration": { "logGroupName": "/emr-containers/jobs", "logStreamNamePrefix": "demo" }, "s3MonitoringConfiguration": { "logUri": "s3://joblogs" } } }
StartJobRunpermintaan dengan image container logging kustom, CPU, dan memori untuk pod pengirim pekerjaan
"configurationOverrides": { "applicationConfiguration": [ { "classification": "emr-job-submitter", "properties": { "jobsubmitter.logging.image": "YOUR_ECR_IMAGE_URL", "jobsubmitter.logging.request.memory": "200Mi", "jobsubmitter.logging.request.cores": "0.5" } } ], "monitoringConfiguration": { "cloudWatchMonitoringConfiguration": { "logGroupName": "/emr-containers/jobs", "logStreamNamePrefix": "demo" }, "s3MonitoringConfiguration": { "logUri": "s3://joblogs" } } }
StartJobRunpermintaan dengan gambar kontainer pengirim pekerjaan khusus dan kebijakan tarik
"configurationOverrides": { "applicationConfiguration": [ { "classification": "emr-job-submitter", "properties": { "jobsubmitter.container.image": "123456789012.dkr.ecr.us-west-2.amazonaws.com/emr6.11_custom_repo", "jobsubmitter.container.image.pullPolicy": "kubernetes pull policy" } } ] }