Terraform 0.11

google_dataproc_cluster




terraform

google_dataproc_cluster

GCP के भीतर क्लाउड डाटाप्रो क्लस्टर संसाधन का प्रबंधन करता है। अधिक जानकारी के लिए आधिकारिक डेटाप्रोक प्रलेखन देखें

उदाहरण उपयोग

resource "google_dataproc_cluster" "simplecluster" {
    name       = "simplecluster"
    region     = "us-central1"
}

resource "google_dataproc_cluster" "mycluster" {
    name       = "mycluster"
    region     = "us-central1"
    labels {
        foo = "bar"
    }

    cluster_config {
        staging_bucket        = "dataproc-staging-bucket"

        master_config {
            num_instances     = 1
            machine_type      = "n1-standard-1"
            disk_config {
                boot_disk_size_gb = 10
            }
        }

        worker_config {
            num_instances     = 2
            machine_type      = "n1-standard-1"
            disk_config {
                boot_disk_size_gb = 10
                num_local_ssds    = 1
            }
        }

        preemptible_worker_config {
            num_instances     = 0
        }

        # Override or set some custom properties
        software_config {
            image_version       = "preview"
            override_properties = {
                "dataproc:dataproc.allow.zero.workers" = "true"
            }
        }

        gce_cluster_config {
            #network = "${google_compute_network.dataproc_network.name}"
            tags    = ["foo", "bar"]
        }

        # You can define multiple initialization_action blocks
        initialization_action {
            script      = "gs://dataproc-initialization-actions/stackdriver/stackdriver.sh"
            timeout_sec = 500
        }

    }
}

तर्क संदर्भ

  • name - (आवश्यक) परियोजना और क्षेत्र के भीतर, क्लस्टर का नाम।
  • project - (वैकल्पिक) उस परियोजना की आईडी जिसमें cluster मौजूद होगा। यदि यह प्रदान नहीं किया जाता है, तो प्रदाता परियोजना का उपयोग किया जाता है।

  • region - (वैकल्पिक) वह क्षेत्र जिसमें क्लस्टर और संबंधित नोड बनाए जाएंगे। global डिफ़ॉल्ट।

  • labels - (वैकल्पिक, कम्प्यूटेड) क्लस्टर में इंस्टेंस पर लागू होने वाली लेबल (की / वैल्यू पेयर) की सूची। GCP कुछ स्वयं ही बनाता है जिसमें goog-dataproc-cluster-name जो goog-dataproc-cluster-name का नाम है।

  • cluster_config - (वैकल्पिक) आपको क्लस्टर के विभिन्न पहलुओं को कॉन्फ़िगर करने की अनुमति देता है। नीचे परिभाषित संरचना।

क्लस्टर_config ब्लॉक का समर्थन करता है:

    cluster_config {
        gce_cluster_config        { ... }
        master_config             { ... }
        worker_config             { ... }
        preemptible_worker_config { ... }
        software_config           { ... }

        # You can define multiple initialization_action blocks
        initialization_action     { ... }
    }
  • staging_bucket - (वैकल्पिक) क्लाउड स्टोरेज स्टैगिंग बकेट का उपयोग क्लाइंट मशीनों और क्लस्टर के बीच, Hadoop jars जैसी फाइलों को स्टेज करने के लिए किया जाता है। नोट: यदि आप स्पष्ट रूप से एक staging_bucket निर्दिष्ट नहीं करते हैं, तो GCP आपके लिए एक बना / असाइन करेगा। हालाँकि, आपको एक ऑटो जनरेट बाल्टी की गारंटी नहीं है जो पूरी तरह से आपके क्लस्टर के लिए समर्पित है; इसे उसी क्षेत्र / क्षेत्र के अन्य समूहों के साथ साझा किया जा सकता है, जो ऑटो जनरेशन विकल्प का उपयोग करने के लिए चुनते हैं।

  • delete_autogen_bucket (वैकल्पिक, पदावनत) यदि यह क्लस्टर पर नष्ट करने के लिए सही पर सेट है, यदि कोई स्पष्ट staging_bucket निर्दिष्ट नहीं किया गया था (अर्थात एक ऑटो जनरेट की गई बाल्टी पर भरोसा किया गया था), तो यह ऑटो बकेट बाल्टी भी नष्ट होने के भाग के रूप में हटा दी जाएगी। डिफ़ॉल्ट रूप से यह गलत पर सेट होता है। यह मान पदावनत है: ऑटोजेनरेटेड बाल्टियाँ एक ही क्षेत्र में सभी समूहों द्वारा साझा की जाती हैं, इसलिए बाल्टी को हटाने से अन्य डाटाप्रो समूहों को प्रतिकूल रूप से नुकसान हो सकता है।

  • gce_cluster_config (वैकल्पिक) क्लस्टर में सभी उदाहरणों पर लागू, Google कंप्यूट इंजन क्लस्टर इंस्टेंस के संसाधनों के लिए सामान्य कॉन्फ़िगरेशन सेटिंग्स। नीचे परिभाषित संरचना।

  • master_config (वैकल्पिक) क्लस्टर में मास्टर इंस्टेंस के लिए Google कंप्यूट इंजन कॉन्फ़िगरेशन सेटिंग्स .. नीचे परिभाषित संरचना।

  • worker_config (वैकल्पिक) एक क्लस्टर में कार्यकर्ता उदाहरणों के लिए Google कंप्यूट इंजन कॉन्फ़िगरेशन सेटिंग्स .. नीचे परिभाषित संरचना।

  • preemptible_worker_config (वैकल्पिक) अतिरिक्त क्लस्टर (उर्फ preemptible) इंस्टेंस के लिए Google कंप्यूट इंजन कॉन्फ़िगरेशन सेटिंग्स। नीचे परिभाषित संरचना।

  • software_config (वैकल्पिक) क्लस्टर के अंदर सॉफ़्टवेयर के लिए कॉन्फ़िगरेशन सेटिंग्स। नीचे परिभाषित संरचना।

  • initialization_action (वैकल्पिक) कॉन्फ़िगर पूरा होने के बाद प्रत्येक नोड पर निष्पादित करने का आदेश देता है। आप इनमें से कई संस्करण निर्दिष्ट कर सकते हैं। नीचे परिभाषित संरचना।

क्लस्टर_config.gce_cluster_config ब्लॉक का समर्थन करता है:

    cluster_config {
        gce_cluster_config {

            zone = "us-central1-a"

            # One of the below to hook into a custom network / subnetwork
            network    = "${google_compute_network.dataproc_network.name}"
            subnetwork = "${google_compute_network.dataproc_subnetwork.name}"

            tags    = ["foo", "bar"]
        }
    }
  • zone - (वैकल्पिक, संगणित) GCP क्षेत्र जहां आपका डेटा संग्रहीत और उपयोग किया जाता है (यानी जहां मास्टर और कार्यकर्ता नोड बनाए जाएंगे)। यदि region 'वैश्विक' (डिफ़ॉल्ट) पर सेट है, तो zone अनिवार्य है, अन्यथा जीसीपी आपके लिए यह स्वचालित रूप से निर्धारित करने के लिए ऑटो ज़ोन प्लेसमेंट का उपयोग करने में सक्षम है। नोट: यह सेटिंग अतिरिक्त रूप से यह निर्धारित करती है और प्रतिबंधित करती है कि कौन-से कंप्यूटिंग संसाधन cluster_config.master_config.machine_type और cluster_config.worker_config.machine_type cluster_config.master_config.machine_type जैसे अन्य कॉन्फ़िगरेशन के साथ उपयोग के लिए उपलब्ध हैं।

  • network - (वैकल्पिक, संगणित) क्लस्टर में Google कंप्यूट इंजन नेटवर्क का नाम या स्वयं_लिंक का हिस्सा होगा। subnetwork साथ विरोध। यदि न तो निर्दिष्ट किया गया है, तो यह "डिफ़ॉल्ट" नेटवर्क में चूक करता है।

  • सबन नेटवर्क्स - (ऑप्शनल) Google कंप्यूट इंजन सबनेटवर्क का नाम या self_link क्लस्टर का हिस्सा होगा। network साथ संघर्ष।

  • service_account - (वैकल्पिक) नोड वीएम द्वारा उपयोग किया जाने वाला सेवा खाता। यदि निर्दिष्ट नहीं है, तो "डिफ़ॉल्ट" सेवा खाता उपयोग किया जाता है।

  • service_account_scopes - (वैकल्पिक, संगणित) Google API स्कोप का सेट, निर्दिष्ट किए गए service_account तहत सभी नोड VM पर उपलब्ध कराया जाएगा। ये या तो FQDNs हो सकते हैं, या स्कोप एलियन्स। क्लस्टर के सही कामकाज को सुनिश्चित करने के लिए निम्नलिखित स्कोप आवश्यक हैं:

  • tags - (वैकल्पिक) उदाहरण के उदाहरणों की सूची क्लस्टर में उदाहरणों पर लागू होती है। टैग का उपयोग नेटवर्क फ़ायरवॉल के लिए वैध स्रोतों या लक्ष्यों की पहचान करने के लिए किया जाता है।

  • internal_ip_only - (वैकल्पिक) डिफ़ॉल्ट रूप से, क्लस्टर आंतरिक IP पते तक ही सीमित नहीं हैं, और इसमें प्रत्येक उदाहरण के लिए ephemeral बाहरी IP पते होंगे। यदि यह सच है, तो क्लस्टर में सभी उदाहरणों में केवल आंतरिक आईपी पते होंगे। नोट: निजी Google एक्सेस (जिसे privateIpGoogleAccess रूप में भी जाना जाता है) को privateIpGoogleAccess पर सक्षम किया जाना चाहिए, जिसमें क्लस्टर लॉन्च किया जाएगा।

क्लस्टर_config.master_config ब्लॉक का समर्थन करता है:

    cluster_config {
        master_config {
            num_instances     = 1
            machine_type      = "n1-standard-1"
            disk_config {
                boot_disk_size_gb = 10
                num_local_ssds    = 1
            }
        }
    }
  • num_instances - (वैकल्पिक, num_instances ) बनाने के लिए मास्टर नोड्स की संख्या निर्दिष्ट करता है। यदि निर्दिष्ट नहीं किया गया है, तो जीसीपी एक पूर्व निर्धारित गणना मूल्य (वर्तमान में 1) पर डिफ़ॉल्ट होगा।

  • machine_type - (वैकल्पिक, कंप्यूटेड) मास्टर के लिए बनाने के लिए एक Google कंप्यूट इंजन मशीन का नाम। यदि निर्दिष्ट नहीं किया गया है, तो जीसीपी एक पूर्व निर्धारित गणना मूल्य (वर्तमान में n1-standard-4 ) के लिए डिफ़ॉल्ट होगा।

  • disk_config.boot_disk_size_gb - (वैकल्पिक, disk_config.boot_disk_size_gb ) GB में निर्दिष्ट प्रत्येक नोड से जुड़ी प्राथमिक डिस्क का आकार। प्राथमिक डिस्क में बूट वॉल्यूम और सिस्टम लाइब्रेरी हैं, और सबसे छोटी अनुमत डिस्क का आकार 10GB है। यदि सेट नहीं किया गया है (वर्तमान में 500GB) GCP एक पूर्व निर्धारित गणना मूल्य पर डिफ़ॉल्ट होगा। नोट: यदि SSDs संलग्न नहीं हैं, तो इसमें HDFS डेटा ब्लॉक और Hadoop वर्किंग डायरेक्टरीज़ भी हैं।

  • disk_config.num_local_ssds - (वैकल्पिक) स्थानीय SSD डिस्क की मात्रा जो प्रत्येक मास्टर क्लस्टर नोड से जुड़ी होगी। चूक ०।

क्लस्टर_config.worker_config ब्लॉक का समर्थन करता है:

    cluster_config {
        worker_config {
            num_instances     = 3
            machine_type      = "n1-standard-1"
            disk_config {
                boot_disk_size_gb = 10
                num_local_ssds    = 1
            }
        }
    }
  • num_instances - (वैकल्पिक, कम्प्यूटेड) बनाने के लिए कार्यकर्ता नोड्स की संख्या निर्दिष्ट करता है। यदि निर्दिष्ट नहीं किया गया है, तो जीसीपी एक पूर्व निर्धारित गणना मूल्य (वर्तमान में 2) के लिए डिफ़ॉल्ट होगा। वर्तमान में एक बीटा सुविधा है जो आपको सिंगल नोड क्लस्टर चलाने की अनुमति देती है। इसका लाभ उठाने के लिए आपको "dataproc:dataproc.allow.zero.workers" = "true" को cluster_config.software_config.properties में सेट करने की आवश्यकता है

  • machine_type - (वैकल्पिक, संगणित) वर्कर नोड के लिए बनाने के लिए Google कंप्यूट इंजन मशीन का नाम। यदि निर्दिष्ट नहीं किया गया है, तो जीसीपी एक पूर्व निर्धारित गणना मूल्य (वर्तमान में n1-standard-4 ) के लिए डिफ़ॉल्ट होगा।

  • disk_config (वैकल्पिक) डिस्क विन्यास

    • boot_disk_size_gb - (वैकल्पिक, boot_disk_size_gb ) GB में निर्दिष्ट प्रत्येक श्रमिक नोड से जुड़ी प्राथमिक डिस्क का आकार। सबसे छोटी अनुमत डिस्क का आकार 10GB है। यदि सेट नहीं किया गया है (वर्तमान में 500GB) GCP एक पूर्व निर्धारित गणना मूल्य पर डिफ़ॉल्ट होगा। नोट: यदि SSDs संलग्न नहीं हैं, तो इसमें HDFS डेटा ब्लॉक और Hadoop वर्किंग डायरेक्टरीज़ भी हैं।
    • num_local_ssds - (वैकल्पिक) स्थानीय SSD डिस्क की मात्रा जो प्रत्येक कार्यकर्ता क्लस्टर नोड से जुड़ी होगी। चूक ०।

क्लस्टर_config.preemptible_worker_config ब्लॉक का समर्थन करता है:

    cluster_config {
        preemptible_worker_config {
            num_instances     = 1
            disk_config {
                boot_disk_size_gb = 10
            }
        }
    }

नोट: worker_config विपरीत, आप सीधे machine_type मान सेट नहीं कर सकते हैं। यह आपके लिए निर्धारित किया जाएगा जो कि worker_config.machine_type लिए निर्धारित की गई थी पर आधारित है।

  • num_instances - (वैकल्पिक) बनाने के लिए पूर्व- num_instances नोड्स की संख्या निर्दिष्ट करता है। चूक ०।

  • disk_config (वैकल्पिक) डिस्क विन्यास

    • boot_disk_size_gb - (वैकल्पिक, boot_disk_size_gb ) GB में निर्दिष्ट प्रत्येक प्रीमेचेबल वर्कर नोड से जुड़ी प्राथमिक डिस्क का आकार। सबसे छोटी अनुमत डिस्क का आकार 10GB है। यदि सेट नहीं किया गया है (वर्तमान में 500GB) GCP एक पूर्व निर्धारित गणना मूल्य पर डिफ़ॉल्ट होगा। नोट: यदि SSDs संलग्न नहीं हैं, तो इसमें HDFS डेटा ब्लॉक और Hadoop वर्किंग डायरेक्टरीज़ भी हैं।

क्लस्टर_config.software_config ब्लॉक का समर्थन करता है:

    cluster_config {
        # Override or set some custom properties
        software_config {
            image_version       = "preview"
            override_properties = {
                "dataproc:dataproc.allow.zero.workers" = "true"
            }
        }
    }
  • image_version - (वैकल्पिक, संगणित) क्लाउड Dataproc छवि संस्करण क्लस्टर के लिए उपयोग करने के लिए - यह क्लस्टर बनाते समय नोड्स पर स्थापित सॉफ़्टवेयर संस्करणों के सेट को नियंत्रित करता है। यदि निर्दिष्ट नहीं है, तो नवीनतम संस्करण में चूक। मान्य संस्करणों की सूची के लिए क्लाउड डाटाप्रो संस्करण देखें

  • override_properties - (वैकल्पिक) क्लस्टर बनाते समय उपयोग की जाने वाली सामान्य कॉन्फ़िगरेशन फ़ाइलों के विभिन्न पहलुओं को संशोधित करने के लिए ओवरराइड और अतिरिक्त गुणों (कुंजी / मान जोड़े) की एक सूची। मान्य गुणों की सूची के लिए कृपया क्लस्टर गुण देखें

Initialization_action ब्लॉक (वैकल्पिक) को कई बार निर्दिष्ट किया जा सकता है और समर्थन करता है:

    cluster_config {
        # You can define multiple initialization_action blocks
        initialization_action {
            script      = "gs://dataproc-initialization-actions/stackdriver/stackdriver.sh"
            timeout_sec = 500
        }
    }
  • script - (आवश्यक) स्क्रिप्ट को क्लस्टर के प्रारंभ के दौरान निष्पादित किया जाना है। स्क्रिप्ट में gs: // उपसर्ग के साथ एक GCS फाइल होनी चाहिए।

  • timeout_sec - (वैकल्पिक, timeout_sec ) अधिकतम अवधि (सेकंड में) जो script को अपनी कार्रवाई को निष्पादित करने के लिए लेने की अनुमति है। यदि सेट नहीं किया जाता है (वर्तमान में 300) तो GCP एक पूर्व निर्धारित गणना मूल्य पर डिफ़ॉल्ट होगा।

संदर्भ संदर्भित करता है

ऊपर सूचीबद्ध तर्कों के अलावा, निम्नलिखित गणना की गई विशेषताएँ निर्यात की जाती हैं:

  • cluster_config.master_config.instance_names - मास्टर उदाहरणों की सूची जिन्हें क्लस्टर को सौंपा गया है।

  • cluster_config.worker_config.instance_names - कार्यकर्ता उदाहरणों की सूची जिन्हें क्लस्टर को सौंपा गया है।

  • cluster_config.preemptible_worker_config.instance_names - पूर्व-उदाहरण उदाहरणों की सूची, जिन्हें क्लस्टर को सौंपा गया है।

  • cluster_config.bucket - क्लाउड स्टोरेज बकेट का नाम अंततः क्लस्टर के लिए cluster_config.bucket डेटा को रखने के लिए उपयोग किया जाता है। यदि staging_bucket निर्दिष्ट है, तो इसमें यह मान होगा, अन्यथा यह स्वतः जनरेट होने वाला नाम होगा।

  • cluster_config.software_config.properties - डेमन कॉन्फ़िगर फ़ाइलों को सेट करने के लिए उपयोग किए जाने वाले गुणों की एक सूची। इसमें cluster_config.software_config.override_properties माध्यम से उपयोगकर्ता द्वारा दिया गया कोई भी मूल्य शामिल होगा

समय समाप्ति

google_dataproc_cluster निम्नलिखित Timeouts कॉन्फ़िगरेशन विकल्प प्रदान करता है:

  • create - (डिफ़ॉल्ट 10 minutes ) क्लस्टर बनाने के लिए उपयोग किया जाता है।
  • update - (डिफ़ॉल्ट 5 minutes ) अद्यतन क्लस्टर के लिए इस्तेमाल किया
  • delete - (डिफ़ॉल्ट 5 minutes ) समूहों को नष्ट करने के लिए प्रयुक्त।