我正在使用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