मैं हडोप के वर्तमान संस्करण का उपयोग कर रहा हूं, और कुछ टेस्ट डीएफएसआई बेंचमार्क (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.blocksize
256m
है, और यह 4 HDDs का उपयोग करता है (dfs.datanode.data.dir
file:///mnt/hadoopData1,file:///mnt/hadoopData2,file:///mnt/hadoopData3,file:///mnt/hadoopData4
पर सेट है)।
एस 3 ए के लिए, fs.s3a.block.size
268435456
पर सेट है, जो 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
अपने Hadoop संस्करण क्या है:
इसके अलावा निम्नलिखित देखते हैं? आप किस शफल बैकएंड का उपयोग कर रहे हैं? –
इसके अलावा आपकी जेवीएम पुन: उपयोग सेटिंग्स क्या हैं? –
फिर भी एक और सवाल जो मेरे दिमाग में आया: क्या आपका काम "उबर" मोड में चल रहा था? –