使用带有 EMR 火花的地形,在不破坏集群的情况下添加新步骤



我正在使用terraform文档(https://www.terraform.io/docs/providers/aws/r/emr_cluster.html(来构建EMR(火花(集群。我正在考虑通过使用地形形式的步骤部署火花作业。

火花提交将是这样的..

spark-submit --deploy-mode cluster --class mypackage.myobject s3://.../my.jar

有没有人尝试过此功能并让 terraform 在您添加新步骤或更改步骤时不会破坏集群?理想情况下,受影响的步骤应该是唯一被破坏和创建的东西。

简单的答案是 API 将某些操作定义为需要销毁......TerraForm 对此无能为力。

我相信这是Cloudwatch API的限制。

您可能需要更改生命周期ignore_changes属性以包含正在更改的任何内容

resource "aws_emr_cluster" "example" {
# ... other configuration ...
step {
action = "TERMINATE_CLUSTER"
name   = "Setup Hadoop Debugging"
hadoop_jar_step {
jar  = "command-runner.jar"
args = ["state-pusher-script"]
}
}
# Optional: ignore outside changes to running cluster steps
lifecycle {
ignore_changes = ["step"]
}
}

该代码取自以下示例 https://www.terraform.io/docs/providers/aws/r/emr_cluster.html#enable-debug-logging

最新更新