Solución:
Si la tarea es resolver este problema en python, otra alternativa podría ser usar la biblioteca confluent-kafka-python que usa internamente librdkafka que está escrito en C y es compatible con SASL y el uso del archivo keytab. Eso no requeriría tener un proceso Java separado para la comunicación con kafka a través de SASL.
Para obtener instrucciones, también consulte la documentación de la biblioteca librdkafka:
https://github.com/edenhill/librdkafka/wiki/Using-SASL-with-librdkafka – introducción general https://github.com/edenhill/librdkafka/blob/master/CONFIGURATION.md – las propiedades que se pueden pasar en el constructor de confluent_kafka.Producer
y confluent_kafka.Consumer
en pitón
Bueno chicos,
Encontré el problema.
El problema es que Kerberos no es compatible con el productor de Kafka en Python usando Key Tab.
Para usar la pestaña de teclas, necesitamos establecer una variable de entorno java.
Según Hortonworks, necesitamos configurar el client_jaas_client para conectarse.
La solución fue usar Py4j para llamar a Kafka Producer en JVM.
Vea el ejemplo aquí.