при попытке подключиться к героку кафке с локального компьютера с помощью kafkacat: ssl.ca.location не удалось: ошибки нет - PullRequest
0 голосов
/ 24 мая 2018

Я пытаюсь следовать этим инструкциям для локального подключения к моей heroku kafka с помощью kafkacat: https://gist.github.com/crcastle/cb21c2148fc57ad89753bf28b561d910

Я создаю файл env, как это:

heroku config -s > .env

, а затем запускаюэтот сценарий, чтобы попытаться прослушать

#! /usr/bin/env bash

set -e

source .env

kafkacat -C -t ${KAFKA_PREFIX}test-topic -b $KAFKA_URL \
-X security.protocol=ssl \
-X ssl.key.location=<(echo $KAFKA_CLIENT_CERT_KEY) \
-X ssl.ca.location=<(echo $KAFKA_TRUSTED_CERT) \
-X ssl.certificate.location=<(echo $KAFKA_CLIENT_CERT)

Тогда я получаю эту ошибку:

% ERROR: Failed to create producer: ssl.ca.location failed: No error

Забавно, что там написано продюсер , хотя я пытаюсь потреблять.

Я могу производить и потреблять из одной и той же темы, используя

heroku kafka:topics:write test-topic "test 1"

и

heroku kafka:topics:tail test-topic

1 Ответ

0 голосов
/ 30 мая 2018

В OSX я не думаю, что синтаксис <(...) поддерживается.Попробуйте:

heroku config:get KAFKA_TRUSTED_CERT -a my-app > $PWD/ca.pem
heroku config:get KAFKA_CLIENT_CERT -a my-app > $PWD/cert.pem
heroku config:get KAFKA_CLIENT_CERT_KEY -a my-app > $PWD/cert.key
export KAFKA_URL="$(heroku config:get KAFKA_URL -a my-app | sed 's/kafka\+ssl\:\/\///g')"
export TOPIC="my-topic"

kafkacat -C -t $TOPIC -b $KAFKA_URL \
-X security.protocol=ssl \
-X ssl.key.location=$PWD/cert.key \
-X ssl.ca.location=$PWD/ca.pem \
-X ssl.certificate.location=$PWD/cert.pem
...