无法向 Kafka 集群生成 PubNub 数据流
Posted
技术标签:
【中文标题】无法向 Kafka 集群生成 PubNub 数据流【英文标题】:Can't Produce PubNub data stream to Kafka Cluster 【发布时间】:2021-07-07 00:13:27 【问题描述】:我目前正在尝试将实时流数据从 PubNub 传递到 Kafka 集群。 我能够从 PubNub 获取数据,但是当我尝试生成到 Kafka 时,出现以下错误:
Exception in thread "Subscription Manager Consumer Thread" java.lang.NullPointerException
at org.apache.kafka.clients.producer.KafkaProducer.propsToMap(KafkaProducer.java:1238)
at org.apache.kafka.clients.producer.KafkaProducer.<init>(KafkaProducer.java:298)
这会在 Kafka 集群初始化后立即发生。我环顾四周,但没有太多关于此的信息。
非常感谢任何帮助。
谢谢
【问题讨论】:
你创建的KafkaProducer
是什么样的?
进一步研究,看看我们是否能找到根本原因
您可以考虑使用官方的 PubNub Kafka Bridge - github.com/pubnub/kafka-bridge 它是用 Rust 编写并在 Docker 中运行的。运行:github.com/pubnub/… 可在 60 秒或更短时间内快速启动
【参考方案1】:
生成 PubNub 数据流到 Kafka 集群
有一种官方方法可以桥接Kafka Topics to PubNub Channels。使用 Docker。
这是一个可以让您在 60 秒内启动并运行的测试示例。在终端窗口中启动 docker compose 文件。这将启动 Kafka、Zookeeper 和主题主题的示例提要生成器。
为了安全起见,您需要从以下地址获取您的私有 API 密钥:https://dashboard.pubnub.com/signup 以下 API 密钥供公众使用,可以轮换使用。
打开一个新的终端会话并运行以下命令:
在以下命令中,注意
KAFKA_TOPIC=topic
是 Kafka 目标主题,PUBNUB_CHANNEL=channel
是 PubNub 源频道。
cd kafka-bridge
docker build -f kafka/plain/dockerfile -t kafka-bridge .
docker run \
--network=host \
## ~ Replace with your own API Keys ~ https://dashboard.pubnub.com/signup \
-e PUBNUB_PUBLISH_KEY=pub-c-6b57a39e-79e7-4d1d-926e-5c376a4cb021 \
-e PUBNUB_SUBSCRIBE_KEY=sub-c-df3799ee-704b-11e9-8724-8269f6864ada \
-e PUBNUB_SECRET_KEY=sec-c-YWY3NzE0NTYtZTBkMS00YjJjLTgxZDQtN2YzOTY0NWNkNGVk \
## ~ Replace with your own API Keys ~ https://dashboard.pubnub.com/signup \
-e PUBNUB_CHANNEL_ROOT='' \
-e PUBNUB_CHANNEL='channel' \
-e KAFKA_GROUP=test-group \
-e KAFKA_TOPIC=topic \
-e KAFKA_BROKERS=0.0.0.0:9094 \
kafka-bridge
【讨论】:
以上是关于无法向 Kafka 集群生成 PubNub 数据流的主要内容,如果未能解决你的问题,请参考以下文章