如何从 Jenkins 将 spark 作业部署到 EMR yarn 集群?

How to deploy spark job to EMR yarn cluster from Jenkins?

我在使用 yarn 的 EMR 集群上有几个 spark 作业,这些作业必须定期 运行 并从 Jenkins 提交。目前,Jenkins 机器将通过 ssh 连接到 EMR 上的主节点,其中代码的副本已准备好在一个文件夹中以供执行。我希望能够将我的 repo 克隆到 jenkins 工作区并提交来自 Jenkins 的代码以在集群上执行。有没有简单的方法可以做到这一点?从 Jenkins 部署 spark 的最佳方式是什么?

您可以使用此 rest api 从 Jenkins 调用 http 请求到 Start/Stop 作业

如果您在 Jenkins 中有 Python,使用 Boto3 实现脚本是一个很好、简单、灵活且功能强大的选项。

您可以管理 EMR (So Spark) 创建完整集群或向现有集群添加作业。 此外,使用同一个库,您可以管理所有 AWS 服务。