Я пытаюсь раскрутить частный кластер данных c (1m, 2w) в GCP через terraform. Также должны потребоваться дополнительные компоненты, такие как docker, anaconda и jupyter. Ниже приведены мои проблемы:
- Я пытаюсь добавить image_version и option_components в software_config, как показано ниже, Это выполнимо?
software_config {
image_version = "1.4.21-debian9"
override_properties = {
"dataproc:dataproc.allow.zero.workers" = "true"
}
optional_components = [ "DOCKER", "ANACONDA", "JUPYTER" ]
}
Если вышеупомянутое не выполнимо, использование initialize_actions - мой единственный вариант, как показано ниже?
initialization_action {
script = "gs://dataproc-initialization-actions/conda/install-conda-env.sh"
timeout_sec = 500
}
Как назначить разрешения / ключи для узлов, которые раскручиваются через терраформ. таким образом, пользователи могут получить доступ к узлам, когда он будет подготовлен. Я попытался использовать, как показано ниже,
gce_cluster_config {
tags = ["env", "test"]
network = "${google_compute_network.dp-network.name}"
internal_ip_only = true
service_account = "name@name.iam.gserviceaccount.com"
}
Оцените ваши входные данные,
Спасибо!
Обновление: я могу раскрутить кластер без опциональных компонентов указано в software_config. Но если я это сделаю, то это приведет к ошибке с сообщением об ошибке.
gce_cluster_config {
network = "${google_compute_network.dataproc-network.name}"
internal_ip_only = true
tags = ["env", "staging"]
zone = "${var.zone}"
service_account = "${var.service_account}"
service_account_scopes= [
"https://www.googleapis.com/auth/monitoring",
"useraccounts-ro",
"storage-rw",
"logging-write",
]
}
# We can define multiple initialization_action blocks
initialization_action {
script = "gs://dataproc-initialization-actions/stackdriver/stackdriver.sh"
timeout_sec = 500
}
initialization_action {
script = "gs://dataproc-initialization-actions/jupyter/jupyter.sh"
timeout_sec = 500
}