kafka- python SASL / SCRAM-SHA-256 auth - PullRequest
       77

kafka- python SASL / SCRAM-SHA-256 auth

0 голосов
/ 03 апреля 2020

Мне нужно подключиться к брокеру Kafka в python с использованием аутентификации SASL / SCRAM-SHA-256. Я использую библиотеку kafka- python (2.0.1) python, которая разрешает такой тип подключения / аутентификации.

Это пример кода, но я получаю сообщение об ошибке ... не доступны брокеры

prod = KafkaProducer(bootstrap_servers='server:9093',
                     security_protocol='SASL_SSL',
                     ssl_certfile='path to ca in pem format',
                     sasl_mechanism='SCRAM-SHA-256',
                     sasl_plain_username='xxx',
                     sasl_plain_password='xxx')

Получение следующей ошибки

    ssl.SSLError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:897)
20-04-06 09:58:52 - root - 1 - 140658864072256 - MainThread - ERROR - Error in connection to kafka
Traceback (most recent call last):
  File "/*****/*****/dao/kafka_dao.py", line 44, in __init__
    **self.consumer_additional_params)
  File "/opt/app-root/lib/python3.6/site-packages/kafka/consumer/group.py", line 355, in __init__
    self._client = KafkaClient(metrics=self._metrics, **self.config)
  File "/opt/app-root/lib/python3.6/site-packages/kafka/client_async.py", line 242, in __init__
    self.config['api_version'] = self.check_version(timeout=check_timeout)
  File "/opt/app-root/lib/python3.6/site-packages/kafka/client_async.py", line 907, in check_version
    version = conn.check_version(timeout=remaining, strict=strict, topics=list(self.config['bootstrap_topics_filter']))
  File "/opt/app-root/lib/python3.6/site-packages/kafka/conn.py", line 1228, in check_version
    if not self.connect_blocking(timeout_at - time.time()):
  File "/opt/app-root/lib/python3.6/site-packages/kafka/conn.py", line 337, in connect_blocking
    self.connect()
  File "/opt/app-root/lib/python3.6/site-packages/kafka/conn.py", line 426, in connect
    if self._try_handshake():
  File "/opt/app-root/lib/python3.6/site-packages/kafka/conn.py", line 505, in _try_handshake
    self._sock.do_handshake()
  File "/usr/lib64/python3.6/ssl.py", line 1033, in do_handshake
    self._sslobj.do_handshake()
  File "/usr/lib64/python3.6/ssl.py", line 645, in do_handshake
    self._sslobj.do_handshake()

Где я не так делаю ??

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...