

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# Amazon EMR on EKS 的 spark-submit 入门
<a name="spark-submit-gs"></a>

Amazon EMR 6.10.0 及更高版本都支持 spark-submit 在 Amazon EKS 集群上运行 Spark 应用程序。以下部分展示了如何提交 Spark 应用程序命令。

## 运行 Spark 应用程序
<a name="spark-submit-run"></a>

要运行 Spark 应用程序，请按照下述步骤操作：

1. 在使用 `spark-submit` 命令运行 Spark 应用程序之前，请先完成[设置 Amazon EMR on EKS 的 spark-submit](spark-submit-setup.md)中的步骤。

1. 使用 Amazon EMR on EKS 基础映像运行容器。有关更多信息，请参阅[如何选择基础映像 URI](https://docs.amazonaws.cn/emr/latest/EMR-on-EKS-DevelopmentGuide/docker-custom-images-tag.html)。

   ```
   kubectl run -it {{containerName}} --image={{EMRonEKSImage}} --command -n {{namespace}} /bin/bash
   ```

1. 设置以下环境变量的值：

   ```
   export SPARK_HOME={{spark-home}}
   export MASTER_URL=k8s://{{Amazon EKS-cluster-endpoint}}
   ```

1. 现在，使用以下命令提交 Spark 应用程序：

   ```
   $SPARK_HOME/bin/spark-submit \
    --class org.apache.spark.examples.SparkPi \
    --master $MASTER_URL \
    --conf spark.kubernetes.container.image=895885662937.dkr.ecr.us-west-2.amazonaws.com/spark/emr-6.10.0:latest \
    --conf spark.kubernetes.authenticate.driver.serviceAccountName=spark \
    --deploy-mode cluster \
    --conf spark.kubernetes.namespace=spark-operator \
    local:///usr/lib/spark/examples/jars/spark-examples.jar 20
   ```

有关向 Spark 提交应用程序的更多信息，请参阅 Apache Spark 文档中的 [Submitting applications](https://spark.apache.org/docs/latest/submitting-applications.html)。

**重要**  
`spark-submit` 仅支持集群模式作为提交机制。