2009-06-10 6 views
8

हम एक Hadoop क्लस्टर के लिए बस का उपयोग करने के लिए कुछ नए हार्डवेयर की खरीद करने के लिए जा रहे हैं और हम हम क्या खरीद चाहिए पर अटक कर रहे हैं। मान लें कि हमारे पास $ 5k का बजट है, क्या हम दो सुपर अच्छी मशीनों को $ 2500/प्रत्येक पर खरीद सकते हैं, चार लगभग $ 1200/प्रत्येक या आठ लगभग $ 600 प्रत्येक पर? क्या धीमी मशीनों या कम से कम तेज मशीनों के साथ हडूप बेहतर काम करेगा? या, अधिकांश चीजों की तरह "यह निर्भर करता है"? :-)हडोप क्लस्टर। 2 फास्ट, 4 मध्यम, 8 धीमी मशीनें?

+0

प्रयास करें http://www.serverfault.com – TheTXI

+4

यह एक सिस्टम प्रशासक समस्या नहीं है। हडोप के लिए उपलब्ध संसाधन हडोप क्लस्टर के डिजाइन में निहित हैं। – skaffman

उत्तर

10

आप आम तौर पर Hadoop कुछ अतिरिक्त मशीनों है कि कम मांसल हैं हो रही के साथ बंद बेहतर कर रहे हैं। आप लगभग 16 जीबी रैम और दोहरी क्वाड-कोर CPUs के साथ डेटनोड को कभी नहीं देखते हैं, और अक्सर वे उससे छोटे होते हैं।

तुम हमेशा namenode (गुरु) के रूप में एक को चलाने के लिए है, और आम तौर पर आप भी, एक ही बॉक्स पर एक datanode (कार्यकर्ता/दास) नहीं चला, हालांकि आप के बाद से कर सकता है आपके क्लस्टर छोटा है। मान लीजिए कि आप नहीं करते हैं, हालांकि, 2 मशीनें आपको केवल 1 कार्यकर्ता नोड छोड़ देंगे, जो कुछ हद तक उद्देश्य को हरा देती है। (नहीं पूरी तरह से, क्योंकि आप अभी भी गुलाम पर समानांतर में 4-8 नौकरियों चला सकते हैं, लेकिन अभी भी।)

इसी समय, आप 1000 486s का एक समूह होना करने के लिए नहीं करना चाहती। यदि आपका बजट $ 5k है, तो मैं एक संतुलन पर हमला करता हूं और 4 $ 1200 मशीन करता हूं। वे व्यक्तिगत प्रदर्शन के मामले में एक सभ्य आधारभूत प्रदान करेंगे, आपके पास काम वितरित करने के लिए 3 डेटनोड होंगे, और यदि आपको आवश्यकता हो तो आपके समूह को बढ़ाने के लिए आपके पास कमरा होगा।

ध्यान रखने योग्य चीजें: आप एकाधिक मानचित्र को चलाने या प्रति डाटानोड कार्यों को कम करना चाहते हैं, और इसका मतलब है कि एकाधिक JVMs एक साथ चल रहे हैं। मैं कम से कम 4 जीबी, और अधिमानतः 8 जीबी रैम प्राप्त करने की कोशिश करता हूं। सीपीयू कम महत्वपूर्ण है क्योंकि अधिकांश एमआर नौकरियां आईओ बाध्य हैं। आप अपने $ 1200 मूल्य लक्ष्य के लिए इस तरह की मशीन प्राप्त कर सकते हैं, इसलिए यह मेरा वोट है।

6

संक्षेप में, आप प्रोसेसर कोर और डिस्क की संख्या का पता अधिकतम करना चाहते हैं। आप विश्वसनीयता और गुणवत्ता का त्याग कर सकते हैं, लेकिन वहां सबसे सस्ता हार्डवेयर नहीं मिलता है, क्योंकि आपके पास बहुत अधिक विश्वसनीयता समस्याएं होंगी।

हम डेल 2xCPU 4-कोर डेल सर्वर के साथ गए, इसलिए 8 कोर प्रति बॉक्स। 16 जीबी मेमोरी प्रति बॉक्स, जो कि 2 जीबी प्रति कोर है, थोड़ी कम है क्योंकि आपको अपने कार्यों और डिस्क बफरिंग के लिए दोनों मेमोरी चाहिए। 5x500GB हार्ड ड्राइव, और मेरी इच्छा है कि हम इसके बजाय टेराबाइट या उच्च ड्राइव के लिए चले जाएंगे।

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

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

अधिक ड्राइव का अर्थ है प्रति कोर एक साथ डिस्क थ्रूपुट, इसलिए कोर के रूप में कई ड्राइव एक अच्छी बात है। बेंचमार्किंग इंगित करता है कि RAID कॉन्फ़िगरेशन जेबीओडी कॉन्फ़िगरेशन से धीमे हैं (केवल ड्राइव को बढ़ाना और हैडोप उनके बीच लोड फैलाना) और जेबीओडी भी अधिक विश्वसनीय है।

पिछले! ईसीसी मेमोरी प्राप्त करना सुनिश्चित करें। हैडोप स्मृति के माध्यम से डेटा के टेराबाइट को धक्का देता है, और कुछ उपयोगकर्ताओं ने पाया है कि गैर-ईसीसी मेमोरी कॉन्फ़िगरेशन कभी-कभी टेराबाइट-आकार वाले डेटासेट में एकल बिट त्रुटियों को पेश कर सकते हैं। इन त्रुटियों को डीबग करना एक दुःस्वप्न है।

0

मुझे लगता है कि यह जवाब क्लस्टर बढ़ने और नेटवर्किंग तकनीक की आपकी अपेक्षाओं पर भी निर्भर करता है जिसका आप उपयोग कर रहे हैं।यदि आप 1 जीबी ईथरनेट के साथ ठीक हैं - तो मशीनों का प्रकार कम महत्वपूर्ण है। एक ही समय में - यदि आप 10 जीबीआईटी ईथरनेट चाहते हैं - आपको नेटवर्किंग की लागत को कम करने के लिए बेहतर मशीनों की छोटी संख्या चुननी चाहिए।

संबंधित मुद्दे