2014-10-02 9 views
9

के साथ रिमोट नोड से एचडीएफएस में फ़ाइलों को स्थानांतरित करना मेरे पास * gz प्रारूप में संपीड़ित बाइनरी फ़ाइलों का एक गुच्छा है। ये रिमोट नोड पर उत्पन्न होते हैं और डेटासेंटर के सर्वर में से एक स्थित एचडीएफएस में स्थानांतरित किए जाने चाहिए।फ्लोट

मैं फ्लूम के साथ फाइल भेजने का विकल्प खोज रहा हूं; मैं स्पूलिंग निर्देशिका कॉन्फ़िगरेशन के साथ ऐसा करने का विकल्प तलाशता हूं, लेकिन स्पष्ट रूप से यह केवल तभी काम करता है जब फ़ाइल की निर्देशिका उसी HDFS नोड पर स्थानीय रूप से स्थित होती है।

कोई समस्या इस समस्या से निपटने के लिए कैसे करें?

उत्तर

2

ऐसे मामले के लिए कोई आउट-ऑफ-बॉक्स समाधान नहीं है। लेकिन आप इन कामकाजों को आजमा सकते हैं:

  1. आप इस उद्देश्य के लिए अपना स्वयं का स्रोत कार्यान्वयन बना सकते हैं (फ्ल्यूम एसडीके का उपयोग करके)। उदाहरण के लिए, this project एसएसएच द्वारा रिमोट डीआईआर से कनेक्ट करने और इसे स्रोत के रूप में उपयोग करने में सक्षम प्रतीत होता है।
  2. आप समय-समय पर स्थानीय स्पूल निर्देशिका में दूरस्थ फ़ाइलों की प्रतिलिपि बनाने के लिए एक कस्टम अनुसूचित स्क्रिप्ट बना सकते हैं, फिर इसे फ़्लूम एजेंट के लिए स्पूलिंग डीआईआर स्रोत के रूप में उपयोग करें।
  3. आप अपने रिमोट डेटा को पढ़ने के लिए और फिर इसे अपने आउटपुट में लिखने और Exec Source में ऐसी स्क्रिप्ट का उपयोग करने के लिए एक और स्क्रिप्ट बनाने का प्रयास कर सकते हैं।
  4. आप मशीन पर अपने फ्लूम (और एजेंट) का पता लगा सकते हैं, जहां डेटा स्थित है (Can Spool Dir of flume be in remote machine? देखें)।
7

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

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