Memulai dengan operator Spark untuk Amazon EMR di EKS - Amazon EMR

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

Memulai dengan operator Spark untuk Amazon EMR di EKS

Topik ini membantu Anda mulai menggunakan operator Spark di Amazon EKS dengan menerapkan aplikasi Spark dan aplikasi Schedule Spark.

Instal operator Spark

Gunakan langkah-langkah berikut untuk menginstal operator Kubernetes untuk Apache Spark.

  1. Jika Anda belum melakukannya, selesaikan langkah-langkahnyaMenyiapkan operator Spark untuk Amazon EMR di EKS.

  2. Otentikasi klien Helm Anda ke registri Amazon ECR. Dalam perintah berikut, ganti nilai region-id dengan pilihan Anda Wilayah AWS, dan nilai akun ECR-Registry-Account yang sesuai untuk Wilayah dari halaman. Akun registri Amazon ECR berdasarkan Wilayah

    aws ecr get-login-password \ --region region-id | helm registry login \ --username AWS \ --password-stdin ECR-registry-account.dkr.ecr.region-id.amazonaws.com
  3. Instal operator Spark dengan perintah berikut.

    Untuk --version parameter bagan Helm, gunakan label rilis Amazon EMR Anda dengan awalan dan emr- akhiran tanggal dihapus. Misalnya, dengan emr-6.12.0-java17-latest rilis, tentukan6.12.0-java17. Contoh dalam perintah berikut menggunakan emr-7.1.0-latest rilis, sehingga menentukan 7.1.0 bagan Helm. --version

    helm install spark-operator-demo \ oci://895885662937.dkr.ecr.region-id.amazonaws.com/spark-operator \ --set emrContainers.awsRegion=region-id \ --version 7.1.0 \ --namespace spark-operator \ --create-namespace

    Secara default, perintah membuat akun layanan emr-containers-sa-spark-operator untuk operator Spark. Untuk menggunakan akun layanan yang berbeda, berikan argumennyaserviceAccounts.sparkoperator.name. Sebagai contoh:

    --set serviceAccounts.sparkoperator.name my-service-account-for-spark-operator

    Jika Anda ingin menggunakan penskalaan otomatis vertikal dengan operator Spark, tambahkan baris berikut ke perintah instalasi untuk mengizinkan webhook untuk operator:

    --set webhook.enable=true
  4. Verifikasi bahwa Anda menginstal bagan Helm dengan helm list perintah:

    helm list --namespace spark-operator -o yaml

    helm listPerintah harus mengembalikan informasi rilis bagan Helm yang baru Anda gunakan:

    app_version: v1beta2-1.3.8-3.1.1 chart: spark-operator-7.1.0 name: spark-operator-demo namespace: spark-operator revision: "1" status: deployed updated: 2023-03-14 18:20:02.721638196 +0000 UTC
  5. Instalasi lengkap dengan opsi tambahan apa pun yang Anda butuhkan. Untuk informasi lebih lanjut, lihat spark-on-k8s-operatordokumentasi di GitHub.

Jalankan aplikasi Spark

Operator Spark didukung dengan Amazon EMR 6.10.0 atau lebih tinggi. Ketika Anda menginstal operator Spark, itu membuat akun layanan emr-containers-sa-spark untuk menjalankan aplikasi Spark secara default. Gunakan langkah-langkah berikut untuk menjalankan aplikasi Spark dengan operator Spark di Amazon EMR di EKS 6.10.0 atau lebih tinggi.

  1. Sebelum Anda dapat menjalankan aplikasi Spark dengan operator Spark, selesaikan langkah-langkah di Menyiapkan operator Spark untuk Amazon EMR di EKS dan. Instal operator Spark

  2. Buat file SparkApplication definisi spark-pi.yaml dengan isi contoh berikut:

    apiVersion: "sparkoperator.k8s.io/v1beta2" kind: SparkApplication metadata: name: spark-pi namespace: spark-operator spec: type: Scala mode: cluster image: "895885662937.dkr.ecr.us-west-2.amazonaws.com/spark/emr-6.10.0:latest" imagePullPolicy: Always mainClass: org.apache.spark.examples.SparkPi mainApplicationFile: "local:///usr/lib/spark/examples/jars/spark-examples.jar" sparkVersion: "3.3.1" restartPolicy: type: Never volumes: - name: "test-volume" hostPath: path: "/tmp" type: Directory driver: cores: 1 coreLimit: "1200m" memory: "512m" labels: version: 3.3.1 serviceAccount: emr-containers-sa-spark volumeMounts: - name: "test-volume" mountPath: "/tmp" executor: cores: 1 instances: 1 memory: "512m" labels: version: 3.3.1 volumeMounts: - name: "test-volume" mountPath: "/tmp"
  3. Sekarang, kirimkan aplikasi Spark dengan perintah berikut. Ini juga akan membuat SparkApplication objek bernamaspark-pi:

    kubectl apply -f spark-pi.yaml
  4. Periksa peristiwa untuk SparkApplication objek dengan perintah berikut:

    kubectl describe sparkapplication spark-pi --namespace spark-operator

Untuk informasi selengkapnya tentang mengirimkan aplikasi ke Spark melalui operator Spark, lihat Menggunakan a SparkApplication dalam dokumentasi pada. spark-on-k8s-operator GitHub