我目前正在尝试将实时流数据从 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 集群初始化后就会发生这种情况。我环顾四周,但没有太多这方面的信息。
非常感谢任何帮助。
谢谢你
有一种官方方法可以将 Kafka 主题桥接到 PubNub 频道。使用 Docker。
这里是测试示例,您应该可以在 60 秒内启动并运行。在终端窗口中启动 docker compose 文件。这将启动 Kafka、Zookeeper 和有关该主题的示例提要生成器。
为了安全起见,您需要从以下位置获取您的私有 API 密钥:https://dashboard.pubnub.com/signup 以下 API 密钥供公共使用,并且可以轮换。
打开一个新的终端会话并运行以下命令:
在以下命令中,请注意
是 Kafka 目标主题,KAFKA_TOPIC=topic
是 PubNub 源通道。PUBNUB_CHANNEL=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
为了向遇到此问题的任何人更新,PubNub 现在有一项专门设计用于将数据从 PubNub 流式传输到 Kafka 的功能: