2016-03-01 5 views
7

मैं हडोप के वर्तमान संस्करण का उपयोग कर रहा हूं, और कुछ टेस्ट डीएफएसआई बेंचमार्क (v। 1.8) चला रहा है, जहां उन मामलों की तुलना करने के लिए जहां डिफ़ॉल्ट फ़ाइल सिस्टम डिफ़ॉल्ट फ़ाइल सिस्टम बनाम एचडीएफएस है एक एस 3 बाल्टी है (S3a के माध्यम से उपयोग की जाती है)।यार्न ने कितने कंटेनर बनाने का फैसला किया है? (एस 3 ए और एचडीएफएस के बीच अंतर क्यों है?)

जब 100 एक्स 1 एमबी S3a के रूप में डिफ़ॉल्ट फ़ाइल सिस्टम से फ़ाइलें पढ़ने, मैं निरीक्षण यार्न वेब UI में अधिकतम कंटेनरों की संख्या डिफ़ॉल्ट के रूप में HDFS के लिए मामले की तुलना में कम है, और S3a के बारे में 4 बार धीमी है ।

जब पढ़ने 1000 x 10 केबी S3a के रूप में डिफ़ॉल्ट फ़ाइल सिस्टम से फ़ाइलें, मैं निरीक्षण यार्न वेब UI में अधिकतम कंटेनरों की संख्या कम से कम 10 गुना कम मामले से डिफ़ॉल्ट के रूप में HDFS के लिए है, और S3a है लगभग 16 गुना धीमी। (उदाहरण के लिए HDFS डिफ़ॉल्ट के साथ परीक्षा निष्पादन समय के 50 सेकंड, बनाम 16 मिनट S3a डिफ़ॉल्ट के साथ परीक्षा निष्पादन समय की।)

शुरू मानचित्र कार्य की संख्या प्रत्येक मामले में अपेक्षा के अनुरूप है, वहाँ है कि के संबंध में कोई अंतर नहीं है । लेकिन क्यों यार्न कम से कम 10 बार कम कंटेनर की संख्या (उदाहरण के लिए एचडीएफएस पर एचडीएफएस पर 8 बनाम 8) बना रहा है? यार्न ने यह निर्धारित करने का फैसला किया है कि क्लस्टर के vcores, RAM, और नौकरी के इनपुट विभाजित होने पर कितने कंटेनर हैं, और नक्शा कार्य लॉन्च समान हैं; और केवल स्टोरेज बैक-एंड अलग है?

एक ही टेस्टडीएफएसआईओ नौकरियों को चलाने के दौरान एचडीएफएस बनाम अमेज़ॅन एस 3 (एस 3 ए के माध्यम से) के बीच प्रदर्शन अंतर की उम्मीद करना निश्चित रूप से ठीक हो सकता है, जो मैं समझ रहा हूं कि यार्न यह समझने के दौरान अधिकतम कंटेनरों की संख्या का निर्धारण कैसे कर रहा है उन नौकरियों, जहां केवल डिफ़ॉल्ट फ़ाइल सिस्टम बदल दिया गया है, क्योंकि वर्तमान में, यह डिफ़ॉल्ट फ़ाइल सिस्टम S3a होने पर है, यार्न लगभग समानांतरता का 9 0% उपयोग नहीं कर रहा है (जो आमतौर पर डिफ़ॉल्ट फाइल सिस्टम एचडीएफएस होता है) ।

क्लस्टर एक 15-नोड क्लस्टर है, जिसमें 1 नाम नोड, 1 संसाधन प्रबंधक (यार्न), और 13 डेटा नोड्स (कार्यकर्ता नोड्स) हैं। प्रत्येक नोड में 128 जीबी रैम और 48-कोर सीपीयू होता है। यह एक समर्पित परीक्षण क्लस्टर है: टेस्टडीएफएसआईओ परीक्षण के दौरान, क्लस्टर पर कुछ और नहीं चलता है।

HDFS के लिए, dfs.blocksize256m है, और यह 4 HDDs का उपयोग करता है (dfs.datanode.data.dirfile:///mnt/hadoopData1,file:///mnt/hadoopData2,file:///mnt/hadoopData3,file:///mnt/hadoopData4 पर सेट है)।

एस 3 ए के लिए, fs.s3a.block.size268435456 पर सेट है, जो 256 मीटर है, जो एचडीएफएस डिफ़ॉल्ट ब्लॉक आकार के समान है।

Hadoop tmp निर्देशिका एक SSD पर है

प्रदर्शन अंतर (डिफ़ॉल्ट HDFS, S3a करने के लिए सेट डिफ़ॉल्ट बनाम) का सारांश नीचे दिया गया है (core-site.xml में /mnt/ssd1/tmp को hadoop.tmp.dir की स्थापना, और यह भी mapred-site.xml में /mnt/ssd1/mapred/local को mapreduce.cluster.local.dir की स्थापना द्वारा) :

TestDFSIO v. 1.8 (READ)  

fs.default.name    # of Files x Size of File Launched Map Tasks Max # of containers observed in YARN Web UI Test exec time sec 
============================= ========================= ================== ===========================================  ================== 
hdfs://hadoop1:9000   100 x 1 MB     100     117            19 
hdfs://hadoop1:9000   1000 x 10 KB    1000     117            56 
s3a://emre-hadoop-test-bucket 100 x 1 MB     100     60            78 
s3a://emre-hadoop-test-bucket 1000 x 10 KB    1000     8            1012 

100 x 1 MB - default FS HDFS versus default FS S3a

1000 x 10 KB - default FS HDFS versus default FS S3a

+0

अपने Hadoop संस्करण क्या है:

इसके अलावा निम्नलिखित देखते हैं? आप किस शफल बैकएंड का उपयोग कर रहे हैं? –

+0

इसके अलावा आपकी जेवीएम पुन: उपयोग सेटिंग्स क्या हैं? –

+0

फिर भी एक और सवाल जो मेरे दिमाग में आया: क्या आपका काम "उबर" मोड में चल रहा था? –

उत्तर

1

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

पिछला अनुच्छेद एस 3 ए फ़ाइल सिस्टम का उपयोग करते हुए, अमेज़ॅन एस 3 के खिलाफ हैडोप मैपराइडस नौकरियों को चलाते समय मैंने देखा है कि कंटेनर निर्माण व्यवहार बताता है। इस मुद्दे को ठीक करने के लिए, मैंने पैच पर काम करना शुरू कर दिया है, और विकास HADOOP-12878 के माध्यम से ट्रैक किया जाएगा।

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