I'm trying to connect to a Kafka with Kafka-Python, the Kafka cluster has Kerberos that we need to build some commands to do few steps.
I have created one Topic at the cluster and I did the test with
k_producer = KafkaProducer(bootstrap_servers='hostname:6667',
for i in range(10):
print ('Before send')
k_producer.send('myTopic', 'Testing My Topic ' + str(i))
print ('After send')
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
I found the issue.
The problem is that Kerberos is not supported for Kafka producer in Python using Key Tab.
To use Key Tab we need to set a java Environment Variable.
According Hortonworks we need to set the client_jaas_client to connect.
The solution was using Py4j to call the Kafka Producer in JVM.
For new Python will not work.