自定义映像的注意事项 - Amazon EMR

自定义映像的注意事项

自定义 Docker 映像时,您可精细地选择精确的任务运行时间。使用此功能时,请考虑以下最佳实践。其中包括安全、配置和安装映像方面的注意事项:

  • 安全性是 AWS 和您的共同责任。您负责对添加到映像中的二进制文件进行安全修补。按照Amazon EMR on EKS 安全最佳实践中的说明操作,特别是获取自定义镜像的最新安全更新采用最低特权原则

  • 自定义基础映像时,请务必将 Docker 用户更改为 hadoop:hadoop,以确保不使用根用户运行任务。

  • Amazon EMR on EKS 会在运行时将文件挂载到映像的配置之上,例如 spark-defaults.conf。要覆盖这些配置文件,我们建议您在提交任务期间使用 applicationOverrides 参数,而不是仅直接在自定义映像中修改文件。

  • Amazon EMR on EKS 会在运行时挂载某些文件夹。对这些文件夹所做的任何修改都不可用于容器中。如果要为自定义映像添加应用程序或其依赖项,我们建议您选择不属于以下预定义路径的目录:

    • /var/log/fluentd

    • /var/log/spark/user

    • /var/log/spark/apps

    • /mnt

    • /tmp

    • /home/hadoop

  • 您可以将自定义映像上载到任何兼容 Docker 的存储库,例如 Amazon ECR、Docker Hub 或私有企业存储库。有关使用所选 Docker 存储库配置 Amazon EKS 集群身份验证的更多信息,请参阅从私有仓库拉取镜像