2016-09-06 6 views
7

के साथ क्लस्टर के साथ काफ्का-पायथन कनेक्ट करना मैं काफ्का-पायथन के साथ एक कफका से कनेक्ट करने की कोशिश कर रहा हूं, काफ्का क्लस्टर केर्बेरोस है कि हमें कुछ कदम उठाने के लिए कुछ आदेश बनाने की आवश्यकता है।केर्बेरोस

मैंने क्लस्टर पर एक विषय बनाया है और मैंने ./kafka-console-producer.sh और ./kafka-console-consumer.sh के साथ परीक्षण किया और वास्तव में अच्छी तरह से काम करता है।

लेकिन जब मैं काफ्का-पायथन से जुड़ने की कोशिश करता हूं तो मुझे कोई समस्या थी। मैं इसे एक दूरस्थ मशीन में चल रहा हूँ

File "C:\Users\m\kafka-python-1.3.1\kafka.zip\kafka\producer\kafka.py", line 328, in __init__ 
File "C:\Users\m\kafka-python-1.3.1\kafka.zip\kafka\client_async.py", line 202, in __init__ 
File "C:\Users\m\kafka-python-1.3.1\kafka.zip\kafka\client_async.py", line 791, in check_version 
kafka.errors.NoBrokersAvailable: NoBrokersAvailable 

: 30 secconds के बाद इस सामग्री मैं इस erro संदेश मिला चल रहा है,

def produce(): 
    print ('Producer') 
    k_producer = KafkaProducer(bootstrap_servers='hostname:6667', 
           security_protocol='SASL_PLAINTEXT', 
           sasl_plain_username='machine_usr', 
           sasl_plain_password='machine_pwd', 
           sasl_mechanism='PLAIN') 
    for i in range(10): 
     print ('Before send') 
     k_producer.send('myTopic', 'Testing My Topic ' + str(i)) 
     print ('After send') 

खैर: नीचे मेरी कोड देखें। और bootstrap_server मैंने ज़ूकीपर होस्टनाम और पोर्ट का उपयोग किया लेकिन साथ ही काम भी नहीं किया।

मुझे इसके बारे में कुछ चीजें मिलीं, और काफ्का-पायथन के गिट में मैंने पाया कि उनके पास implemented था।

क्या कनेक्ट करने का कोई अन्य तरीका है?

+0

आपकी कार्य स्क्रिप्ट की सामग्री को देखना उपयोगी होगा। क्या आपने यह ओपी बहुत आसान कनेक्शन का उपयोग करके देखा था? http://stackoverflow.com/questions/35689238/kafka-python-producer-is-not-able-to-connect यह शुरू करने के लिए एक जगह हो सकती है, भले ही आपको केर्बेरोस के बिना एक अलग उदाहरण स्थापित करना पड़े। –

+0

धन्यवाद @DanielWisehart! मुझे पता है कि हम एक साधारण तरीके से कनेक्ट करने में सक्षम हो सकते हैं। लेकिन केर्बेरोज चीजों को थोड़ा कठिन बनाते हैं ... मुझे KeyTab के साथ प्रमाणीकरण करने की आवश्यकता है ... और यह Python lib में ऐसा करने में सक्षम नहीं है। –

+0

आपके कफ्का ब्रोकर 'होस्टनाम का नाम है: 6667'? यह पहली नज़र में सही प्रतीत नहीं होता है ... – jimijazz

उत्तर

2

अच्छी तरह से दोस्तों,

मुझे समस्या मिली।

समस्या यह है कि केर्बेरो कुंजी टैब का उपयोग करके पाइथन में काफ्का निर्माता के लिए समर्थित नहीं है।

कुंजी टैब का उपयोग करने के लिए हमें जावा पर्यावरण परिवर्तनीय सेट करने की आवश्यकता है।

Hortonworks के अनुसार हमें कनेक्ट करने के लिए client_jaas_client सेट करने की आवश्यकता है।

समाधान जेवीएम में काफ्का निर्माता को कॉल करने के लिए पीई 4j का उपयोग कर रहा था।

उदाहरण देखें here

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