2012-02-12 14 views
5

एक Hadoop नौकरी चल रहा है या प्रगति पर अगर मैं HDFS या HBase के लिए कुछ लिखना तो उस डेटा दृश्यमान सभी नोड्स के लिए क्लस्टरक्या हैडॉप्स क्लस्टर में अन्य सभी नोड्स के लिए एचडीएफएस या हबेस को कुछ लिखा गया है?

1.) तुरंत में होगा जबकि?

2.) यदि तुरंत नहीं तो कितना समय बाद?

3.) या वास्तव में समय निर्धारित नहीं किया जा सकता है?

उत्तर

4

एचडीएफएस दृढ़ता से संगत है, इसलिए एक बार लिखने के बाद सफलतापूर्वक पूरा हो गया है, नया डेटा तुरंत सभी नोड्स में दिखाई देना चाहिए। स्पष्ट रूप से वास्तविक लेखन में कुछ समय लगता है - इस पर कुछ विवरणों के लिए replication pipelining देखें।

यह अंततः संगत सिस्टम के विपरीत है, जहां सभी नोड्स डेटा के निरंतर दृश्य को देखने से पहले अनिश्चितकालीन समय (हालांकि अक्सर कुछ मिलीसेकंड) ले सकते हैं।

कैसंड्रा जैसे सिस्टम ट्यूनेबल स्थिरता रखते हैं - प्रत्येक पढ़ने और लिखने के संचालन के अनुरूप स्थिरता के एक अलग स्तर पर किया जा सकता है।

+0

हैबेज अंततः या दृढ़ता से संगत है? – seahorse

+2

हबेस दृढ़ता से संगत है –

3

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

0

एचडीएफएस डेटा में एचएफएलश() या एचएसआईएनसी() विधि का उपयोग करके फ्लश या सिंक हो जाने पर दिखाई देता है - इन तरीकों को अनुमानित 0.21 संस्करण में पेश किया गया था। एचएफएलश आपको गारंटी देता है कि डेटा सभी पाठकों के लिए दृश्यमान है। Hsync आपको गारंटी देता है कि डेटा डिस्क पर सहेजा गया था (altough यह अभी भी आपके डिस्क कैश में हो सकता है)। लेखन विधि आपको कोई गारंटी नहीं देती है। अपने प्रश्न का उत्तर देने के लिए - एचडीएफएस डेटा में तुरंत hflush() या hsync() करने के बाद सभी को दिखाई देता है।