尝试使用kafkacat:ssl.ca从本地计算机连接到heroku kafka位置失败:无错误

whitzsjs  于 2021-06-06  发布在  Kafka
关注(0)|答案(1)|浏览(605)

我尝试按照以下说明使用kafkacat本地连接到我的heroku kafka:https://gist.github.com/crcastle/cb21c2148fc57ad89753bf28b561d910
我正在创建一个env文件,如下所示:

  1. heroku config -s > .env

然后运行这个脚本

  1. # ! /usr/bin/env bash
  2. set -e
  3. source .env
  4. kafkacat -C -t ${KAFKA_PREFIX}test-topic -b $KAFKA_URL \
  5. -X security.protocol=ssl \
  6. -X ssl.key.location=<(echo $KAFKA_CLIENT_CERT_KEY) \
  7. -X ssl.ca.location=<(echo $KAFKA_TRUSTED_CERT) \
  8. -X ssl.certificate.location=<(echo $KAFKA_CLIENT_CERT)

然后我得到这个错误:

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

有趣的是,它说生产者,即使我试图消费。
我可以使用

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

  1. heroku kafka:topics:tail test-topic
btqmn9zl

btqmn9zl1#

在osx上,我不认为 <(...) 支持语法。尝试:

  1. heroku config:get KAFKA_TRUSTED_CERT -a my-app > $PWD/ca.pem
  2. heroku config:get KAFKA_CLIENT_CERT -a my-app > $PWD/cert.pem
  3. heroku config:get KAFKA_CLIENT_CERT_KEY -a my-app > $PWD/cert.key
  4. export KAFKA_URL="$(heroku config:get KAFKA_URL -a my-app | sed 's/kafka\+ssl\:\/\///g')"
  5. export TOPIC="my-topic"
  6. kafkacat -C -t $TOPIC -b $KAFKA_URL \
  7. -X security.protocol=ssl \
  8. -X ssl.key.location=$PWD/cert.key \
  9. -X ssl.ca.location=$PWD/ca.pem \
  10. -X ssl.certificate.location=$PWD/cert.pem

相关问题