चूंकि मैं अभी तक टिप्पणी नहीं कर सकता क्योंकि मैं इसे "उत्तर" के रूप में पोस्ट करूंगा, एम। स्थिति के जवाब में जोड़ रहा हूं।
वह लिंक एक ही दस्तावेज़ के भीतर इस blurb के बारे में जो श्रोता एक काफ्का ग्राहक (https://cwiki.apache.org/confluence/display/KAFKA/KIP-103%3A+Separation+of+Internal+and+External+traffic) द्वारा किया जाता है नहीं है:
जैसा कि पहले कहा, ग्राहकों को श्रोता नाम देखने कभी नहीं है और वास्तव में के रूप में पहले मेटाडाटा अनुरोध कर देगा । अंतर यह है कि वे वापस आने वाले एंडपॉइंट्स की सूची एंडपॉइंट के श्रोता नाम तक सीमित हैं जहां उन्होंने अनुरोध किया था।
यह वही यूआरएल आप अपने bootstrap.servers config में उपयोग पर निर्भर करता है कि URL होगा * कि ग्राहक वापस मिल जाएगा अगर यह advertised.listeners में मैप किया गया है के रूप में महत्वपूर्ण है (पता नहीं है क्या व्यवहार है अगर श्रोता मौजूद नहीं है)।
अपवाद चिड़ियाघर संचालक आधारित उपभोक्ताओं है:
इसके अलावा इस पर ध्यान दें। ये उपभोक्ता सीधे ब्रूकर पंजीकरण जानकारी को ज़ूकीपर से पुनर्प्राप्त करते हैं और सुरक्षा प्रोटोकॉल के रूप में PLAINTEXT के साथ पहला श्रोता चुनते हैं (वे केवल सुरक्षा प्रोटोकॉल का समर्थन करते हैं)।
एक उदाहरण दलाल config के रूप में (क्लस्टर में सभी दलालों के लिए):
advertised.listeners = बाहरी: //XXXXX.compute-1.amazonaws.com: 9990, आंतरिक: // आईपी -XXXXX.ec2.internal: 9993
inter.broker.listener.name = आंतरिक
listener.security.protocol.map = बाहरी: एसएसएल, आंतरिक: प्लेन
यदि ग्राहक कनेक्ट करने के लिए XXXXX.compute-1.amazonaws.com:9990 का उपयोग करता है, मेटाडेटा फ़ेच उस ब्रोकर पर जाएगा। हालांकि, ग्रुप कोऑर्डिनेटर के साथ उपयोग करने के लिए लौटने वाला यूआरएल 123.compute-1.amazonaws.com:9990* (एक अलग मशीन!) हो सकता है। इसका मतलब यह है कि मिलान श्रोता नाम पर किया जाता है जैसा कि वास्तविक यूआरएल (नोड) के बावजूद केआईपी-103 द्वारा विज्ञापित किया गया है।
चूंकि EXTERNAL के लिए प्रोटोकॉल मानचित्र SSL है, यह आपको कनेक्ट करने के लिए SSL कुंजीस्टोर का उपयोग करने के लिए मजबूर करेगा।
यदि दूसरी ओर आप एडब्ल्यूएस के भीतर हैं तो कहें, आप आईपी-XXXXX.ec2 जारी कर सकते हैं।आंतरिक: 99 3 9 और प्रोटोकॉल मानचित्र के अनुसार संबंधित कनेक्शन सादे टेक्स्ट होगा।
यह विशेष रूप से आईएएसएस में आवश्यक है जहां मेरे मामले में ब्रोकर और उपभोक्ता एडब्ल्यूएस पर रहते हैं, जबकि मेरा निर्माता क्लाइंट साइट पर रहता है, इस प्रकार विभिन्न सुरक्षा प्रोटोकॉल और श्रोताओं की आवश्यकता होती है।
संपादित करें: इनबाउंड नियमों को भी जोड़ना अब बहुत आसान है कि आपके पास विभिन्न ग्राहकों (ब्रोकर, उत्पादक, उपभोक्ता) के लिए अलग-अलग बंदरगाह हैं।
मुझे यकीन नहीं है कि आप कम से कम एचडीपी 2.5.0.3 पर मेरे लिए 'श्रोताओं' और 'विज्ञापित .listeners' दोनों को उपनाम असाइन कर सकते हैं, यह काम नहीं किया, शायद कुछ याद किया। मेरे लिए क्या काम किया गया था विभिन्न कॉन्फ़िगरेशन समूहों को परिभाषित करना और आवश्यक आईपी पते पर विशिष्ट विज्ञापन सेट करना था। धन्यवाद, – reim