2015-01-26 23 views
13

का उपयोग कर रिमोट सर्वर पर एक संदेश भेजने में असमर्थ मैं रिमोट कंट्रोल पर संदेश भेजने के लिए Kafka क्लस्टर बनाने की कोशिश कर रहा हूं। मैंने here वर्णित सब कुछ कॉन्फ़िगर किया है। मैं इसे Linux red hat मशीन पर चला रहा हूं, और यह खोल का उपयोग करके ठीक काम करता है। मेरी खिड़की मशीन पर quick start ट्यूटोरियल में वर्णित के रूप जावा कोड लिखने के बाद, मैं निम्नलिखित त्रुटि दिखाई देती है:काफ्का - जावा

... 
DEBUG kafka.client.ClientUtils$ - Successfully fetched metadata for 1 topic(s)  Set(example) 
... 
ERROR kafka.producer.SyncProducer - Producer connection to cldExampleKafka.domain:80 unsuccessful 
java.nio.channels.UnresolvedAddressException 
    ... 
    at kafka.producer.async.ProducerSendThread.run(ProducerSendThread.scala:44) 
... 
WARN kafka.producer.async.DefaultEventHandler - Failed to send producer request with correlation id 2 to broker 0 with data for patitions [ati,0] 
java.nio.channels.UnresolvedAddressException 
... 
kafka.common.FailedToSendMessageException: Failed to send message after 3 tries. 

मैं भी एक अलग Linux मशीन में जार चलाने की कोशिश की है, और अब भी वही त्रुटि प्राप्त ।

पते को localhost पर बदलना और मशीन में एक जार के रूप में जावा कोड चलाना जहां कफका स्थापित है।

मुझे विश्वास है कि यह कॉन्फ़िगरेशन के साथ कुछ है, लेकिन मुझे यह नहीं मिला।

उत्तर

25

अपने काफ्का में server.properties वहाँ एक टिप्पणी की विन्यास

#advertised.host.name=<Some IP> 

टिप्पणी हटाएं यह है और लिनक्स मशीन जिसमें काफ्का चल रहा है के आईपी जोड़ें।

advertised.host.name=<Kafka Running Machine IP> 

और ग्राहकों से <Kafka Running Machine IP> पर कनेक्ट करें यह आपकी समस्या को ठीक करना चाहिए।

संपादित

वैकल्पिक रूप से आप

#advertised.port=9092 

इसके अलावा uncomment यदि आप डिफ़ॉल्ट की जगह किसी दूसरे पोर्ट पर ध्यान दे रहे हैं कर सकते हैं।

+1

धन्यवाद यह काम करता है! – itaied

+0

क्या इसे ज़ूकीपर कॉन्फ़िगरेशन को बदलने की भी आवश्यकता है ?? क्योंकि मुझे अभी भी समस्या है – xXxpRoGrAmmErxXx

+0

मुझे इसे होस्ट करने के लिए host.name और advertised.host.name दोनों का उल्लेख करना था। – Rahul

5

server.properties से

साथ काम किया हटाएं

listeners=PLAINTEXT://:9092 

और

advertised.listeners=PLAINTEXT://<HOST IP>:9092 

वास्तविक IP साथ <HOST IP> बदलें।

+1

क्या आप कृपया अपनी वास्तविक कॉन्फ़िगरेशन –

+0

साझा कर सकते हैं VM से काफ्का रिमोट क्लस्टर से कनेक्ट करने का प्रयास किया। वीएम के पास 1 आंतरिक (9.0.0.1 और बाहरी आईपी (1 9 .1.1.1.1) था, मैं केवल आंतरिक और बाहरी नहीं, मेरे conifg/server.properties में बदल सकता हूं // अगर आप ifconfig करते हैं तो मशीन में आईपी दें होस्टनाम- I 'कोड' श्रोताओं = PLAINTEXT: //192.1.1.1: 9092 // आईपी उपभोक्ता और निर्माता को 'कोड' advertised.listeners = PLAINTEXT: //9.0.0.1: 9092 कनेक्ट करेगा – CodeUrLife

0

मेरी स्थानीय मशीन से काफ्का रिमोट क्लस्टर से कनेक्ट करने का प्रयास किया।

वी एम का था 1 आंतरिक (9.0.0.1 और बाहरी आईपी (192.1.1.1) मैं आंतरिक & नहीं बाहरी करने के लिए केवल ssh सकता है, मेरी conifg में परिवर्तन/server.properties

// में आईपी देना मशीन जब यू ifconfig है या होस्टनाम मैं

listeners=PLAINTEXT://192.1.1.1:9092 

// आईपी उपभोक्ता देने के लिए और निर्माता कनेक्ट करेगा

advertised.listeners=PLAINTEXT://9.0.0.1:9092 
संबंधित मुद्दे