Использование Confluent Kafka Consumer в Python - PullRequest
0 голосов
/ 29 марта 2019

У меня проблема при использовании потребителя confluent-kafka с kerberos.

У меня Kafka работает на кластере Cloudera, защищенном с помощью kerberos для аутентификации.И я разрабатываю приложение на Python для Linux, используя Confluent-Kafka, и настраиваю его для подключения к защищенной среде Kerberos.

Но я замечаю, что Confluent-Kafka меняет Принципал службы в билете Kerberos:

from : krbtgt/xxx.xxx.xx@sample.com
to   : kafka/xxx.xxx.xx@sample.com

И когда мне понадобится билет Kerberos для вставки данных, которые я извлекаю из Kafka, в Hive, он выдаст ошибку, так как билет уже изменился.

Я уже протестировал соединение с использованием клиента Confluent-Kafkaи клиент улья отдельно, и он работает нормально.

Моя конфигурация python Confluent-Kafka:

settings = {
    'bootstrap.servers': 'SOMESERVER:9093',
    'group.id': 'mygroup',
    'client.id': socket.gethostname(),
    'enable.auto.commit': True,
    'session.timeout.ms': 6000,
    'default.topic.config': {'auto.offset.reset': 'earliest'},
    'security.protocol': 'SASL_SSL',
    'sasl.kerberos.service.name': 'kafka',
    'sasl.kerberos.principal': 'SOMEUSERNAME',
    'sasl.mechanism': 'GSSAPI',
    'ssl.ca.location': '/home/randomlocation/cm.pem',
    'sasl.kerberos.keytab': '/home/randomlocation/generatedkeytab.keytab',
}

есть ли способ настроить confluent-kafka, поэтому я могу повторно использоватьбилет Kerberos для другого клиента (улей)?

...