모든 작업이 완료되면 Google DataProc 클러스터를 프로그래밍 방식으로 종료 할 수 있습니까?모든 작업이 완료된 후 Google DataProc 클러스터 자동 종료
DataProc는 생성, 모니터링 및 관리 (https://cloud.google.com/dataproc/docs/resources/faq)를 제공합니다. 하지만 클러스터를 삭제하는 방법을 찾지 못했습니다.
모든 작업이 완료되면 Google DataProc 클러스터를 프로그래밍 방식으로 종료 할 수 있습니까?모든 작업이 완료된 후 Google DataProc 클러스터 자동 종료
DataProc는 생성, 모니터링 및 관리 (https://cloud.google.com/dataproc/docs/resources/faq)를 제공합니다. 하지만 클러스터를 삭제하는 방법을 찾지 못했습니다.
자동으로 프로그램 몇 가지 방법이 클러스터가 종료 :
gcloud
CLI작업 후 (전화) (s) 실행을 마칩니다.
여기에 대한 자세한 내용보기 : https://cloud.google.com/dataproc/docs/guides/manage-cluster#delete_a_cluster
당신은 그 스칼라 코드를 수행 할 수 있습니다 - 클러스터 만들기 - 작업이 스칼라 작업 할 수 있음을하려면 삭제 클러스터
을 종료 - 모든 작업 을 실행 미래. 많은 작업이있는 경우 병렬로 실행할 수 있습니다.
val gcpJarBucket = "gs://test_dataproc/dataproc/Dataproc.jar"
val jobs = Seq("package.class1","package.class2")
val projectName: String = "automat-dataproc"
val clusterName: String = "your-cluster-name"
val timeout = 180 minute
// Working directory
implicit val wd = pwd
val future = Future {
println("Creating the spark cluster...")
% gcloud("dataproc", "clusters", "create", clusterName, "--subnet", "default", "--zone", "europe-west1-b", "--master-machine-type", "n1-standard-4", "--master-boot-disk-size", "50", "--num-workers", "3", "--worker-machine-type", "n1-standard-4", "--worker-boot-disk-size", "50", "--project", projectName)
println("Creating the spark cluster...DONE")
}.flatMap { _ => {
Future.sequence {
jobs.map { jobClass =>
Future {
println(s"Launching the spark job from the class $jobClass...")
% gcloud("dataproc", "jobs", "submit", "spark", s"--cluster=$clusterName", s"--class=$jobClass", "--region=global", s"--jars=$gcpJarBucket")
println(s"Launching the spark job from the class $jobClass...DONE")
}
}
}
}}
Try{ Await.ready(future, timeout) }.recover{ case exp => println(exp) }
% bash("-c", s"printf 'Y\n' | gcloud dataproc cl
이 작업을 완전히 자동화하고 싶습니다. 그럼 여기서 일자리가 집행을 끝낼 때 어떻게 통보받을 수 있을까요? 작업 완료 콜백/알림을 받으면 REST API를 사용하여 클러스터를 삭제할 수 있습니다. –
다시 REST API를 사용하십시오. 특별히 작업 자원에 대해 'GET'을 수행하고 폴링 루프 (https://cloud.google.com/dataproc/docs/reference/rest/v1/projects.regions.jobs/get)에 래핑하십시오. 그럼, 제출> 모니터> 종료 –
좋아. 따라서 외부 스크립트는 작업 상태를 폴링 한 다음 상태에 따라 클러스터에서 다른 작업을 시작해야합니다. 자동 종료 및 확장 기능이있는 DataProc 클러스터를 관리하는 모든 도구/타사 소프트웨어? 자동 스케일링에서도 동일한 문제가 존재하기 때문입니다. DataFlow는 자동 스케일링을 단독으로 처리합니다. –