无法向 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 数据流的主要内容,如果未能解决你的问题,请参考以下文章

如何生成 pubnub UUID?

Pubnub 正在向多个 uuid 发送心跳?

无法在 PUBNUB 上发布来自 CC3100 + MSP430F5529 的数据

kafka集群里面如何重建单个节点

kafka命令行的管理使用

kafka集群配置