问题描述
我目前正在尝试将实时流数据从 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 集群初始化后立即发生。我环顾四周,但没有太多相关信息。
非常感谢任何帮助。
谢谢
解决方法
生成 PubNub 数据流到 Kafka 集群
有一种官方方法来桥接 Kafka Topics to PubNub Channels。使用 Docker。
这是一个测试示例,它应该可以让您在 60 秒内启动并运行。在终端窗口中启动 docker compose 文件。这将针对主题主题启动 Kafka、Zookeeper 和示例提要生成器。
为了安全起见,您需要从以下位置获取您的私有 API 密钥:https://dashboard.pubnub.com/signup 以下 API 密钥供公共使用并且可能会轮换。
打开一个新的终端会话并运行以下命令:
在下面的命令中,注意 KAFKA_TOPIC=topic
是 Kafka Destination Topic,PUBNUB_CHANNEL=channel
是 PubNub Source Channel。
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