मुख्य विषयवस्तु में जाएं

क्लस्टर और स्टोरेज

विहंगावलोकन

क्लस्टर प्रबंधन

एक ही क्लस्टर के भीतर स्पार्क इन्फ्रास्ट्रक्चर का प्रबंधन कई चुनौतियां प्रस्तुत करता है। हमारा लक्ष्य यह सुनिश्चित करना है कि बुनियादी ढांचे में सभी आवश्यक विशेषताएं हों, जैसे डेटा विज़ुअलाइज़ेशन और डेटा प्रवाह की निगरानी। हम यह भी चाहते हैं कि यह अंतर्निहित प्रतिकृति और संस्करण क्षमताओं के साथ सुरक्षित हो। इसके अतिरिक्त, हमारी नौकरियों के स्वास्थ्य और प्रदर्शन की निगरानी करना महत्वपूर्ण है। हालांकि, इन सभी सुविधाओं को शामिल करने के लिए समय लेने वाली कॉन्फ़िगरेशन की आवश्यकता होती है, जो जटिलता और लागत जोड़ता है।

इसके अलावा, मल्टी-क्लस्टर इन्फ्रास्ट्रक्चर में संक्रमण करते समय, इन कार्यों को अक्सर प्रत्येक अतिरिक्त क्लस्टर के लिए दोहराया जाना चाहिए, जिससे संभावित रूप से उच्च लागत होती है। इसके अलावा, रखरखाव खर्च के लिए प्रत्येक अतिरिक्त क्लस्टर के साथ एक रैखिक वृद्धि की आवश्यकता होती है।

इलम न केवल प्रदान करता है स्वचालित एकीकरण आपके डेटा इन्फ्रास्ट्रक्चर में ऊपर वर्णित सभी सुविधाओं में से, लेकिन यह भी बनाता है एक बहु-क्लस्टर में संक्रमण वास्तुकला यथासंभव सहज। आपको केवल नेटवर्किंग और एक्सेस को प्रबंधित करने की आवश्यकता है

इलम के साथ, आप अपने मल्टी-क्लस्टर आर्किटेक्चर को एक के माध्यम से प्रबंधित कर सकते हैं केंद्रीय नियंत्रण विमान. सब कुछ इलम आवेदन के भीतर किया जा सकता है।

भंडारण प्रबंधन

ऐसे परिदृश्य हैं जहां आपके डेटा इन्फ्रास्ट्रक्चर में एकाधिक संग्रहण समाधानों का उपयोग करना आवश्यक हो जाता है। यह लागत के विचारों, विभिन्न प्रदाताओं द्वारा दी जाने वाली अनूठी विशेषताओं या नेटवर्क विलंबता को कम करने के लिए कई क्षेत्रों में भंडारण की आवश्यकताओं के कारण हो सकता है। हालांकि, स्पार्क आर्किटेक्चर में कई स्टोरेज को एकीकृत करने में अक्सर दोहराए जाने वाले और समय लेने वाले कार्य शामिल होते हैं, जैसे कि स्टोरेज तक पहुंचने के लिए प्रत्येक स्पार्क जॉब को व्यक्तिगत रूप से कॉन्फ़िगर करना।

इलम आपके लिए इस प्रक्रिया को सरल बनाता है। आपको बस इतना करना है कि क्लस्टर में संलग्न करते समय प्रमाणीकरण विवरण जोड़कर एक बार भंडारण को कॉन्फ़िगर करें। उसके बाद, सभी Ilum नौकरियों को स्वचालित रूप से पढ़ने और भंडारण में लिखने के लिए अधिकृत किया जाता है, जिससे प्रत्येक कार्य के लिए मैन्युअल कॉन्फ़िगरेशन की आवश्यकता समाप्त हो जाती है।

उदाहरण के लिए, बिल्ट-इन MinIO स्टोरेज का उपयोग करते समय, प्रत्येक Ilum Jobs होगा प्रीकॉन्फ़िगर्ड इन स्पार्क मापदंडों के साथ:

इलम

क्लस्टर में प्रत्येक भंडारण के लिए समान पैरामीटर जोड़े जाएंगे।

इलम में आप 4 प्रकार के स्टोरेज का उपयोग कर सकते हैं: जीसीएस, एस 3, डब्ल्यूएएसबीएस, एचडीएफएस.

HDFS Storage Configuration

When connecting an HDFS cluster as a storage backend, ilum automatically configures Spark jobs with the necessary Hadoop properties. For manual or advanced HDFS configuration, the following Spark properties are commonly required:

# Core HDFS connection
spark.hadoop.fs.defaultFS=hdfs://:8020

# HA NameNode configuration (if applicable)
spark.hadoop.dfs.nameservices=mycluster
spark.hadoop.dfs.ha.namenodes.mycluster=nn1,nn2
spark.hadoop.dfs.namenode.rpc-address.mycluster.nn1=namenode1:8020
spark.hadoop.dfs.namenode.rpc-address.mycluster.nn2=namenode2:8020
spark.hadoop.dfs.client.failover.proxy.provider.mycluster=org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider

For Kubernetes-based deployments, mount the Hadoop core-site.xml और hdfs-site.xml configuration files into Spark pods:

spark.kubernetes.driver.volumes.configMap.hadoop-config.mount.path: /etc/hadoop/conf
spark.kubernetes.driver.volumes.configMap.hadoop-config.mount.readOnly: सच्चा
spark.kubernetes.executor.volumes.configMap.hadoop-config.mount.path: /etc/hadoop/conf
spark.kubernetes.executor.volumes.configMap.hadoop-config.mount.readOnly: सच्चा
spark.driver.extraJavaOptions: -Dhadoop.home.dir=/etc/hadoop/conf
spark.executor.extraJavaOptions: -Dhadoop.home.dir=/etc/hadoop/conf
नोट

Ensure that HDFS ports (default: 8020 for RPC, 9870 for WebUI) are accessible from the Kubernetes cluster where ilum runs. For cross-network deployments, configure appropriate network policies or VPN tunnels.

क्लस्टर में स्टोरेज जोड़ने के तरीके के बारे में अधिक जानने के लिए, यहां जाएं भंडारण जोड़ गाइड.

केंद्रीकृत नौकरियां प्रबंधन

समस्या

आइए एक उदाहरण देखें। हमारे पास विभिन्न क्षेत्रों में 10 क्लस्टर हैं और हम उनमें से एक पर नौकरी तैनात करना चाहते हैं। इलम के बिना यह कैसा दिखेगा?

हमें अपडेट करने की आवश्यकता होगी Kubectl कॉन्फिग चुने हुए क्लस्टर संदर्भ को वर्तमान के रूप में सेट करने के लिए।

kubectl config use-context cluster_i_context 

इसका मतलब है, कि हमें एक संदर्भ के रूप में लिखे गए प्रत्येक एकल क्लस्टर के साथ एक विशाल kubeconfig फ़ाइल रखने की आवश्यकता होगी:

apiVersion: वी 1
क्लस्टर्स:
- गुच्‍छा:
प्रमाणपत्र-प्राधिकरण: /पथ/से/सीए-1. सीआरटी
सर्वर: एचटीटीपीएस://<cluster-1-आईपी>:6443
नाम: गुच्‍छा-1
...
- गुच्‍छा:
प्रमाणपत्र-प्राधिकरण: /पथ/से/सीए-एन.सीआरटी
सर्वर: एचटीटीपीएस://<cluster-n-आईपी>:6443
नाम: गुच्‍छा-n

संदर्भों:
- संदर्भ:
गुच्‍छा: गुच्‍छा-1
Namespace: चूक
उपभोक्ता: उपभोक्ता-1
नाम: गुच्‍छा-1-संदर्भ
...
- संदर्भ:
गुच्‍छा: गुच्‍छा-n
Namespace: चूक
उपभोक्ता: उपभोक्ता-n
नाम: गुच्‍छा-n-संदर्भ

वर्तमान-संदर्भ: गुच्‍छा-मैं

प्रकार: कॉन्फिग
प्राथमिकताएँ: {}
उपयोगकर्ताओं:
- नाम: उपभोक्ता-1
उपभोक्ता:
क्लाइंट-प्रमाणपत्र: /पथ/से/ग्राहक/प्रमाणपत्र-1. सीआरटी
क्लाइंट-कुंजी: /पथ/से/क्लाइंट/कुंजी-1.key
...
- नाम: उपभोक्ता-n
उपभोक्ता:
क्लाइंट-प्रमाणपत्र: /पथ/से/ग्राहक/प्रमाणपत्र-एन.सीआरटी
क्लाइंट-कुंजी: /पथ/से/क्लाइंट/कुंजी-n.key

ऐसा दृष्टिकोण कई चुनौतियों का परिचय देता है। निम्नलिखित परिदृश्यों पर विचार करें:

  1. खोया Kubeconfig: यदि आप अपनी kubeconfig फ़ाइल खो देते हैं तो क्या होता है? यह क्लस्टर तक आपकी पहुंच को बाधित करेगा, जिसके लिए मैन्युअल पुनर्प्राप्ति या पुनर्जनन की आवश्यकता होगी।

  2. प्रमाणपत्र निर्भरता: क्या होगा यदि kubeconfig आपके पीसी पर स्थानीय रूप से संग्रहीत प्रमाणपत्र पर निर्भर करता है, और आप इसे खो देते हैं? पहुंच बहाल करना बोझिल हो जाएगा।

  3. बहु-उपयोगकर्ता पहुँच: यदि आप कई लोगों को क्लस्टर एक्सेस देना चाहते हैं, तो क्या आपको सभी को kubeconfig फ़ाइल और प्रमाणपत्र वितरित करने की आवश्यकता होगी? यह प्रक्रिया न केवल अक्षम है, बल्कि सुरक्षा जोखिम भी पैदा करती है।

  4. प्रमाणपत्र अद्यतन: क्या होता है जब प्रमाणपत्र समाप्त हो जाते हैं या अद्यतन करने की आवश्यकता होती है? आपको प्रत्येक उपयोगकर्ता की kubeconfig फ़ाइल और प्रमाणपत्रों को अपडेट करना होगा, जिससे और जटिलता बढ़ जाएगी।

यहां तक कि अगर आप इन सभी मुद्दों को हल करते हैं, तो भी आप स्पार्क नौकरी बनाने के कार्य का सामना करते हैं। उदाहरण के लिए, आप निम्न कमांड का उपयोग करके नौकरी जमा कर सकते हैं:

स्पार्क-सबमिट \
--गुरू k8s://https://<kubernetes-api-server>:6443 \
--deploy-mode क्लस्टर \
--नाम spark-app \
--कक्षा com.example.MyApp \
--conf spark.executor.instances=5 \
--conf स्पार्क.कुबेरनेट्स.कंटेनर.इमेज=<spark-image> \
/पथ/से/application.jar

और आपको हर बार जब आप नौकरी को रीस्केल करते हैं या कॉन्फ़िगरेशन अपडेट करते हैं, तो आपको इस कमांड को चलाने की आवश्यकता होगी, जिससे बहुत अनावश्यक प्रयास और अक्षमता हो सकती है।

विलयन

इलम अपने सुव्यवस्थित दृष्टिकोण के साथ इन सभी समस्याओं को समाप्त करता है:

  • सिंगल-टाइम सेटअप: Simply add the cluster’s certificates once to connect Ilum to your cluster, and you're done. No need to manage lengthy kubeconfig files or track multiple certificates and keys.
  • कोई इंजीनियर-साइड कॉन्फ़िगरेशन नहीं: Your engineers won’t have to configure cluster connections manually or deal with kubeconfig files.
  • यूआई-संचालित प्रबंधन: स्पार्क नौकरियों को तैनात करने के लिए kubectl का उपयोग करने के बारे में भूल जाओ। इलम के साथ, सब कुछ एक सहज यूआई के माध्यम से नियंत्रित किया जाता है।

आरंभ करने के लिए, बस उपयुक्त गाइड का पालन करके एक क्लस्टर जोड़ें/l

यदि आपको प्रमाणपत्र या किसी अन्य क्लस्टर कॉन्फ़िगरेशन को अद्यतन करने की आवश्यकता है, तो बस क्लिक करें संपादन करना वांछित क्लस्टर के लिए बटन और उसी गाइड का पालन करें।

Note: Jobs launched with Ilum require access to the centralized control plane. To ensure this, you’ll need to expose Ilum services to the outside world and create external services in your remote cluster.

एक बार आपका क्लस्टर कनेक्ट हो जाने के बाद, क्लस्टर सूची पर नेविगेट करें और उस क्लस्टर का चयन करें जहां आप अपना स्पार्क कार्य परिनियोजित करना चाहते हैं। यहां से आप इन गाइडों का पालन करते हुए इलम जॉब्स को तैनात कर सकते हैं:

With Ilum’s इंटरएक्टिव नौकरियां सुविधा, आप स्पार्क मापदंडों को कॉन्फ़िगर कर सकते हैं, फ़ाइलें अपलोड कर सकते हैं, एक स्पार्क पॉड को एक बार तैनात कर सकते हैं, और अपने स्पार्क एप्लिकेशन को फिर से तैनात किए बिना कई बार चला सकते हैं। इसके अलावा, इंटरएक्टिव कोड समूह सुविधा आपको सीधे इलम यूआई के भीतर स्पार्क कोड निष्पादित करने की अनुमति देती है।

किसी भी समय, आप कर सकते हैं:

  • संपादन करना your job’s Spark parameters or assigned resources.
  • रीस्केल आवश्यकतानुसार काम।
  • पुनरारंभ करें या हटाएं कभी भी कंसोल का उपयोग किए बिना यूआई से सीधे नौकरियां।

इलम क्लस्टर और स्पार्क जॉब मैनेजमेंट को सरल बनाता है, समय बचाता है और परिचालन जटिलता को कम करता है।

केंद्रीकृत निगरानी

इलम में आप अपने डेटा इन्फ्रास्ट्रक्चर के बारे में सभी महत्वपूर्ण जानकारी की निगरानी कर सकते हैं केंद्रीय नियंत्रण विमान

इतिहास सर्वर

जब स्पार्क आपके एप्लिकेशन को चलाता है, तो यह एक निष्पादन योजना बनाता है, इसे अलग-अलग चरणों, नौकरियों और कार्यों में तोड़ देता है। रास्ते में, यह प्रमुख मैट्रिक्स को ट्रैक करता है जैसे कि चरणों के बीच स्थानांतरित डेटा की पंक्तियों और बाइट्स की संख्या, साथ ही साथ अन्य महत्वपूर्ण प्रदर्शन विवरण।

इलम में, सभी नौकरियां यह जानकारी भेजती हैं इवेंट लॉग, जिसे बाद में हिस्ट्री सर्वर द्वारा व्यवस्थित किया जाता है। यह आपको आसानी से इलम यूआई के भीतर सीधे डेटा का विश्लेषण करने की अनुमति देता है।

इलम

इलम

The Event Log is stored on the default Ilum Storage. To collect data from Spark jobs running on remote clusters, you’ll need to expose the storage. Detailed instructions for this process can be found on the जीकेई एडिशन गाइड

इतिहास सर्वर और अपने कार्यों की निगरानी कैसे करें के बारे में अधिक जानकारी के लिए, पर जाएँ निगरानी पृष्ठ

सुरमा

ग्रेफाइट प्रोमेथियस के समान एक मैट्रिक्स संग्रह उपकरण है, लेकिन एक पुश-आधारित मॉडल पर काम करता है, जो इसे बहु-क्लस्टर वातावरण में उपयोग के लिए विशेष रूप से उपयुक्त बनाता है।

सभी Ilum नौकरियों को अपने मैट्रिक्स डेटा को ग्रेफाइट में धकेलने के लिए पूर्व-कॉन्फ़िगर किया गया है, जिससे आपके अनुप्रयोगों और बुनियादी ढांचे की केंद्रीकृत निगरानी सक्षम हो जाती है।

ग्रेफाइट को सक्षम करने के लिए, में दिए गए निर्देशों का पालन करें निगरानी पृष्ठ . एक बार सक्षम होने के बाद, अपने क्लस्टर को संदर्भित करके ग्रेफाइट के साथ एकीकृत करने के लिए कॉन्फ़िगर करें जीकेएस जोड़ पृष्ठ.

डेटा वंश

वंशावली एक इलम विशेषता है जो आपको अपनी परियोजनाओं के भीतर डेटासेट और नौकरियों के बीच संबंधों की कल्पना करने देती है।

उदाहरण के लिए, आप एक डेटाफ़्लो विज़ुअलाइज़ेशन देख सकते हैं जिसमें दिखाया गया है कि कैसे दो नौकरियां डेटा को स्टोरेज में निगलना करती हैं, जिसके बाद दूसरी नौकरी इस डेटा को अंतिम डेटासेट में संसाधित करती है। यह एक स्पष्ट और सहज समझ प्रदान करता है कि आपका डेटा पाइपलाइन में कैसे स्थानांतरित और रूपांतरित होता है।

इलम

इस तरह के विज़ुअलाइज़ेशन मेटाडेटा डेटाबेस के लिए इलम धन्यवाद द्वारा स्वचालित रूप से बनाए जाते हैं: प्रत्येक इलम जॉब को डेटाबेस में नौकरियों के बारे में मेटाडेटा भेजने के लिए पूर्व-कॉन्फ़िगर किया गया है। Ilum UI इस डेटा का उपयोग नौकरियों और डेटासेट के बीच संबंध प्रस्तुत करने के लिए करता है।

इस मेटाडेटा डेटाबेस को दूरस्थ क्लस्टर में एक्सपोज़ करके, आप मल्टी-क्लस्टर आर्किटेक्चर में डेटा प्रवाह को आसानी से देख सकते हैं। इसे उजागर करने के तरीके के बारे में अधिक जानने के लिए यहां जाएं जीकेएस जोड़ पृष्ठ

डेटा वंश यात्रा के बारे में अधिक जानने के लिए डेटा वंश पृष्ठ।

फ़ाइल एक्सप्लोरर

फ़ाइल एक्सप्लोरर एक इलम सुविधा है जो आपको अपने सभी क्लस्टर पर सभी स्टोरेज सिस्टम में संग्रहीत ऑब्जेक्ट्स के लिए मेटाडेटा देखने में सक्षम बनाती है। यह आपके स्टोरेज की सामग्री तक पहुंचने के लिए विभिन्न IAM कॉन्फ़िगरेशन, सेवा खातों या टूल के बीच स्विच करने की आवश्यकता को समाप्त करके भंडारण निगरानी को काफी सरल करता है। इसके अतिरिक्त, यह आपकी टीम के सदस्यों के साथ संग्रहण पहुंच साझा करने की परेशानी को दूर करता है, क्योंकि हर कोई आसानी से इलम यूआई के माध्यम से सीधे भंडारण सामग्री देख सकता है।

इलम

इसके बारे में अधिक जानने के लिए यहां जाएं फ़ाइल एक्सप्लोरर पृष्ठ

केंद्रीकृत डेटा विश्लेषिकी

Ilum आपको Ilum UI के माध्यम से डेटा एनालिटिक्स बनाना संभव बनाने के लिए सभी उपकरणों को एकीकृत करने की अनुमति देता है

Metastore

A metastore is a tool that allows you to save information about your data, such as its schema, location, and other metadata on a central, persistent server. To learn more about it, visit the Data catalogs documentation page.

However, you need to expose Hive Metastore Server to remote clusters. You can do this following instructions from जीकेई एडिशन गाइड.

टेबल एक्सप्लोरर

टेबल एक्सप्लोरर

The Table Explorer lets you explore the contents of your metastores and view samples of your data with the डेटा अन्वेषण उपकरण.

To learn more about it, visit the टेबल एक्सप्लोरर पृष्ठ।

इलम एसक्यूएल

Similar to the Data Exploration Tool, you can access small portions of data by applying SQL operations. However, Ilum SQL provides greater flexibility by enabling you to run complex SQL queries on tables from the Hive Metastore, allowing for more advanced data exploration and analysis.

To learn more about it, visit इलम एसक्यूएल पेज