问题标签 [apache-pulsar]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
402 浏览

boost - 在 Mac 上安装 Apache Pulsar C++ 客户端

我正在尝试按照以下说明在 Mac 上安装 Apache Pulsar C++ 客户端: https ://github.com/apache/pulsar/tree/master/pulsar-client-cpp#compile-on-mac-os-x

不幸的是,我在运行cmake .步骤时收到以下响应:

我已经使用 brew 安装了 boost、boost-python 和 cmake,但似乎 cmake 没有看到 python boost。

0 投票
0 回答
110 浏览

apache-pulsar - Apache Pulsar 地理复制不起作用 - GKE

我在 2 个不同的区域有两个 GKE 集群,其中两个都部署了 Apache Pulsar(使用市场上可用的 Streamlio 应用程序)。我已经添加了两个集群以了解彼此

pulsar-admin clusters create region-2 --url http://<ANOTHER_CLUSTER_IP>:8080 \ --broker-url pulsar://<ANOTHER_CLUSTER_IP>:6650

& 另一个集群中的相同命令。

然后我在集群中创建租户和命名空间region-1

首先是租户

然后,命名空间

我没有看到新租户或region-1在 replciated 中创建的命名空间region-2。然后我尝试授予命名空间权限,但我收到身份验证错误。

我收到以下错误

在 gke 的不同区域部署的两个不同集群之间设置异地复制时我在哪里做错了。我错过了什么步骤?

0 投票
1 回答
1365 浏览

java - 为什么在 Apache Pulsar 中使用 MessageListeners 而不仅仅是 Consumer.receive()?

Apache Pulsar 的 API ( https://pulsar.apache.org/api/client/org/apache/pulsar/client/api/Consumer.html ) 包括至少两种使用来自 Pulsar 主题/队列的消息的方法:

  1. 使用 Consumer.receive()(或 Consumer.receiveAsync())
  2. 使用 ConsumerBuilder.messageListener(MessageListener messageListener) 添加消息侦听器,它将对 Consumer 的引用和 Message 发送到 MessageListener 的实例

大多数情况下,感觉这些是平等的,并且使用 MessageListener 的类似事件的方法是有意义的,除了 Consumer 对象具有我发现在受控的 while 循环中可能有用的其他方法,例如: isConnected() 、receiveAsync()、pause()、resume() 和 seek(MessageId messageId)。

有了 Consumer 类中的这些附加功能,即使将 Consumer 传递给 MessageListener,为什么不为消费者提供一个简单的循环而不是使用单个 MessageListener?

在 Pulsar 中使用 MessageListener 是否有优势或偏好,或者这只是给开发人员的一个选项?

过去,我主要为 JMS 和 Kafka 编写消费者循环。

0 投票
2 回答
142 浏览

node.js - Apache-Pulsar 吞吐量

我在本地机器上独立运行 apache-pulsar 作为 docker 容器,用于排队系统并将 1000 个作业推送到一个主题(比如说“演示”)。

如果我有 1 个消费者正在收听“演示”主题并处理工作并确认(在 100 毫秒 - 500 毫秒内)。所有工作在大约 80 秒内完成。

但是,如果我对更多消费者(2 或 4 个消费者)进行相同的 1000 个作业测试,则总体吞吐量保持不变,大约为 80 秒。

我不确定我是否缺少一些需要的配置或是否需要多个脉冲星代理,或者我应该怎么做,如果我增加消费者,消费吞吐量也应该增加(如果有 2 个消费者,大约需要 40-45 秒)。

Docker 镜像:apachepulsar/pulsar

消费者选项:“subscriptionType”:“Shared”,“receiverQueueSize”:100,“ackTimeoutMillis”:1200000

谢谢!

0 投票
2 回答
1232 浏览

node.js - 本地机器中的 Apache-Pulsar 集群设置(多代理)

我可以在本地机器上独立运行 apache-pulsar 作为 docker 容器。

码头工人-compose.yml

谁能让我知道如何运行多代理设置?

谢谢!

0 投票
2 回答
185 浏览

hazelcast-jet - Apache Pulsar 的 Hazelcast Jet 连接器作为源

我找不到Hazlecast Jet. Apache Pulsar有人试过这个吗?如果我必须编写自定义stream连接器Pulsar作为 Jet 的来源,是否有任何方向、要点、来源和注意事项?

0 投票
0 回答
1081 浏览

java - java.lang.NullPointerException:null at com.google.common.base.Preconditions.checkNotNull(Preconditions.java:877) 在 pulsar-io-jdbc 连接器

我正在使用 Apache Pulsar v2.4.2。并参考了 pulsar-io-jdbc 并创建了打包 nar 的自定义接收器连接器。

并运行以下命令上传架构并创建连接器

1.上传 AVRO Schema

这是 avro 架构:

2.创建连接器

一旦我从 producer.SendAsync(message) 向主题“myjdbc”发送消息。消息在哪里

Pulsar localrun 连接器出现以下异常:

而且也不会触发 write() 方法。

0 投票
1 回答
249 浏览

apache-pulsar - Pulsar Reader 错过阅读器离线时写入的消息

我有一个 Pulsar 阅读器,可以读取消息并处理它们。当消息到达某个主题时,读者会收到它。但是,如果这个阅读器应用程序离线一段时间并重新连接到脉冲星集群,阅读器不会读取在阅读器离线期间写入脉冲星的那些消息。但是,当阅读器重新启动时,它不会读取已经使用的旧消息。读者被设置为startMessageId(MessageId.latest).

这是读者的预期行为还是我错过了什么?下面是我的简单代码供参考。

0 投票
1 回答
169 浏览

prometheus - 如何使用 Prometheus 编写简单的 Pulsar 指标查询?

我也是 Prometheus 和 Pulsar 的新手,但是按照文档我试图发送一个最简单的查询只是为了学习。

我查看了命名空间指标并尝试检索订阅数量。我还应该提到我正在使用 Postman 并查询 Pulsar 的本地实例。使用上面我来到这个查询:

所以我本地 Pulsar 的 GET 请求看起来像这样

但它不返回一个数字,而是在输出中我以这种方式看到一个很长的文档

我错过了什么?

0 投票
1 回答
377 浏览

replication - Apache Pulsar 主题复制随着集群大小的增加

我想了解命名空间/主题复制在 Apache Pulsar 中是如何工作的,以及集群大小的变化对现有和新命名空间/主题的复制因子有什么影响。

考虑以下场景:

我从具有以下代理配置的单个节点开始:

几个月后,我决定使用以下新代理的配置将集群大小增加到两个:

在上述场景中,集群的行为将是什么:

  1. 这会改变现有主题的复制因子(RF)吗?
  2. 新创建的主题有旧的 RF 还是新指定的 RF?
  3. 命名空间/主题(托管分类帐)-> 经纪人所有权如何工作?

请注意,此时两个代理节点具有不同的配置。

TIA