/ / फ़्लू के कफ़्का चैनल का उपयोग कैसे करें एक स्रोत निर्दिष्ट किए बिना - अपाचे-कफ़्का, फ़्लुम, फ़्लूमे एनजी

एक स्रोत निर्दिष्ट किए बिना फ्ल्यूम का काफ्का चैनल का उपयोग कैसे करें - अपाचे-काफ्का, फ्ल्यूम, फ्ल्यूम-एनजी

मेरे पास एक मौजूदा काफ्का विषय और एक फ़्लुम एजेंट हैवह वहां से पढ़ता है और एचडीएफएस को लिखता है। मैं अपने फ़्लूम एजेंट को फिर से कॉन्फ़िगर करना चाहता हूं ताकि यह मौजूदा सेटअप से दूर हो जाए; Kafka चैनल का उपयोग करने के लिए HD चैनल सिंक के लिए Kafka स्रोत, फ़ाइल चैनल।

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

# Test
test.channels = kafka-channel
test.sinks = hdfs-sink

test.channels.kafka-channel.type =
org.apache.flume.channel.kafka.KafkaChannel
test.channels.kafka-channel.kafka.bootstrap.servers = localhost:9092
test.channels.kafka-channel.kafka.topic = test
test.channels.kafka-channel.parseAsFlumeEvent = false

test.sinks.hdfs-sink.channel = kafka-channel
test.sinks.hdfs-sink.type = hdfs
test.sinks.hdfs-sink.hdfs.path = hdfs://localhost:8082/data/test/

मैं उपयोग कर रहा हूँ:

  • एचडीपी क्विकस्टार्ट वीएम 2.6.3
  • फ़्लम संस्करण 1.5.2
  • HDFS निर्देशिका मौजूद है
  • ps -ef | grep flume एक बार जब मैंने काफ्का-स्रोत जोड़ा तो एक प्रक्रिया वापस आती है, लेकिन यह "सही नहीं हो सकता क्योंकि ऐसा करने से विषय पर प्रकाशित किसी भी संदेश के लिए एक अनंत लूप बन जाता है।

क्या केवल काफ्का चैनल और एचडीएफएस सिंक का उपयोग करना संभव है या क्या मुझे काफ्का-स्रोत का उपयोग करने की आवश्यकता है लेकिन कुछ अन्य कॉन्फ़िगरेशन को बदल दें जो संदेशों के अनंत लूप को रोक देंगे?

Kafka-source -> kafka-channel -> HDFS Sink - यह मुझे सही नहीं लगता।

उत्तर:

उत्तर № 1 के लिए 1

थोड़ा सा खोदने के बाद मैंने देखा कि अम्बारी ने "निर्दिष्ट एजेंट के लिए कोई भी फ़्लूएम फाइल नहीं बनाई है। अम्बारी केवल फ़्लूम कॉन्फ़िगर बनाने / अद्यतन करने के लिए लगता है यदि मैं निर्दिष्ट करता हूँ test.sources = kafka-source। एक बार जब मैंने इसे फ्यूम कॉन्फिगर (एंब्रायरी के माध्यम से) में जोड़ा तो कॉम्प्लेक्स बॉक्स पर बन गया और फ्लूम एजेंट सफलतापूर्वक शुरू हो गया।

अंतिम फ़्लू कॉन्फ़िग इस तरह दिखती है:

test.sources=kafka-source
test.channels = kafka-channel
test.sinks = hdfs-sink

test.channels.kafka-channel.type = org.apache.flume.channel.kafka.KafkaChannel
test.channels.kafka-channel.kafka.bootstrap.servers = localhost:9092
test.channels.kafka-channel.kafka.topic = test
test.channels.kafka-channel.parseAsFlumeEvent = false

test.sinks.hdfs-sink.channel = kafka-channel
test.sinks.hdfs-sink.type = hdfs
test.sinks.hdfs-sink.hdfs.path = hdfs:///data/test

ध्यान दें, मैंने कोई भी गुण सेट नहीं कियाsource (यह मेरे प्रश्न में उल्लिखित अनंत लूप समस्या का कारण होगा), यह सिर्फ उल्लेख करने की आवश्यकता है इसलिए अंबरी फ़्लू विन्यास बनाता है और एजेंट को शुरू करता है।


जवाब के लिए 0 № 2

यह आपके प्रश्न के बारे में सीधे जवाब नहीं देता हैफ्ल्यूम, लेकिन सामान्य तौर पर जब से आप पहले से ही अपाचे काफ्का का उपयोग कर रहे हैं, यह पैटर्न काफ्का कनेक्ट (जो अपाचे काफ्का का हिस्सा है) का उपयोग करके सबसे अच्छा हल है। एक काफ्का कनेक्ट एचडीएफएस कनेक्टर है जो प्रति उपयोग करने के लिए सरल है इस गाइड यहाँ.