问题标签 [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 投票
2 回答
333 浏览

apache-pulsar - 如何在 Pulsar 中进行广播

我正在为我们的集群研究一项技术。Pulsar 看起来不错,但使用起来更像是一个排队系统。排队系统当然好,但我有一个特殊的要求:广播。

我们想使用一台机器生成数据并将其发布到 Pulsar 主题。然后我们使用一组服务器,形成一个副本。每个服务器都使用该主题的消息流,并通过 WebSocket 为客户端提供服务。

这与共享订阅不同,因为每个服务器都需要接收所有消息,而不是其中的一部分。

我来到这个帖子:https ://kafkaesque.io/subscriptions-multiple-groups-of-consumers-on-pulsar-topic/ ,它解释了如何做这样的工作:每个服务器都需要创建一个新的独家订阅,比如说使用 UUID 作为订阅名称,从唯一的专属订阅中可以获取该主题的完整消息流。

但是由于我们的服务器副本可以是动态的,所以一旦一些服务器重启,他们会再次创建新的 UUID 订阅,这会留下很多关于该主题的孤儿订阅,最终成为维护的难题。

有人有使用 Pulsar 设置广播用例的经验吗?

0 投票
1 回答
209 浏览

apache-pulsar - Pulsar 消息确认适用于主题或订阅?

我是 Pulsar 的新手,在阅读了一些文档后,我对消息确认有点困惑。

假设我有一个主题和两个订阅:SubA 和 SubB。现在 SubA 和 SubB 使用了一条消息,但只有 SubA 确认了该消息。现在我的问题是,假设 2 天后,我们的保留政策开始生效,它想要删除所有超过 2 天的已确认消息,那么在这种情况下,该消息是否被视为已确认?(因为只有 SubA 承认,SubB 没有)

0 投票
1 回答
444 浏览

apache-pulsar - 如何将订阅光标倒回到 Pulsar 中的特定时间?

在文档:https ://pulsar.apache.org/docs/en/concepts-clients/中,它解释了您可以从最早或最新位置开始消费者,或者您可以指定消息ID。能否支持这个要求,即指定一个时间点并从那里开始,例如,现在我想迭代从昨天 12:00 到昨天 13:00 的消息?

0 投票
1 回答
406 浏览

docker - Kubernetes 集群上的 Apache pulsar(本地环境)

尝试在我的 kubernetes 集群中部署 pod 并且一些 pod 给了我一些存储问题的错误。屏幕截图如下:Kubernetes 仪表板

我确定问题出在我的一个工作节点上。我认为这不是脉冲星的问题。我还将在此处共享 YAML 文件,以便清楚地了解问题所在。链接到 YAML 文件:https ://github.com/apache/pulsar/blob/master/deployment/kubernetes/generic/k8s-1-9-and-above/zookeeper.yaml

我需要 YAML 文件的帮助来稍微调整一下它,以便可以根据我在工作节点上的现有要求创建 pod。如果您需要更多信息,我会很高兴。

提前致谢

0 投票
1 回答
377 浏览

apache-pulsar - 积压配额和 TTL 有什么区别

从文档:https ://pulsar.apache.org/docs/en/cookbooks-retention-expiry/#get-the-ttl-configuration-for-a-namespace ,积压之间的区别有点令人困惑配额和 TTL。

据我目前了解,消息到达代理,代理将找出该主题的所有订阅,并检索他们的积压,并将消息放入这些积压。如果此消息被一个订阅确认,它将从其积压中删除(积压是每个订阅)。如果该消息不在任何积压中(意味着所有订阅都已确认),则该消息被视为已确认,然后将启动保留策略,以决定是否需要将其删除或保留一段时间。

如果一条消息在一段时间内未在一个 backlog 中得到确认,并且 backlog 配额达到大小限制,那么 backlog 保留策略就会启动。所以这更多的是关于大小而不是时间。如果我们使用consumer_backlog_eviction,这条消息将从积压中被丢弃,但问题是,这是否被视为已确认?所以第一个保留政策开始了?

而 TTL,如果一条消息在一段时间内没有得到确认,它会从所有积压中删除吗?然后被视为已确认,然后让第一个保留策略处理它?

更新:

更准确地说这个问题:

在积压配额文件中,它说:

consumer_backlog_eviction:代理将开始丢弃积压消息

丢弃意味着,让它被承认?这样全球保留政策就可以启动了吗?

producer_request_hold:代理将持有而不是持久化生产请求有效负载

是不是说,它不会将新消息放入积压中,但是对于那些新来的消息,它们是否会自动确认(假设当时只有一个订阅)?这是否会阻止真正的生产者(我想不会,只是经纪人不会再将新消息放入积压中)

(对于 TTL)如果磁盘空间是一个问题,您可以设置一个生存时间 (TTL),以确定未确认消息将保留多长时间。

同样,如果超过了 TTL,它就不会“保留”它,意思是让它承认?还是直接扔掉?

0 投票
0 回答
55 浏览

apache-pulsar - Pulsar 会在删除主题时删除已卸载的段吗?

Pulsar 支持https://pulsar.apache.org/docs/en/cookbooks-tiered-storage/,分层存储,非常棒。我试验了这个功能,看到它把一些文件放到 AWS S3 上,看起来每个段有 2 个文件,都具有相同的 UUID:

  • 5780710b-393a-49cb-aff7-282901d7e311-ledger-9
  • 5780710b-393a-49cb-aff7-282901d7e311-ledger-9-index

我认为如果有很多主题,以后会很乱,而且我无法通过名称弄清楚哪个文件属于哪个主题。如果我删除主题 use pulsar-admin,文件将保留在 AWS S3 上。

有没有办法管理这个?

0 投票
2 回答
1182 浏览

apache-pulsar - Apache Pulsar 模式使用 json 字符串验证

就我而言,我有一些原始 JSON 字符串数据发送到主题并且无法对 POJO 类进行硬编码,我想使用 pulsar 模式功能来验证结构。我有一个主题“我的主题”并与下面的 JSON 模式相关联,然后我尝试传输一些消息。

我的问题是脉冲星模式是如何工作的?该消息应被拒绝。

0 投票
2 回答
464 浏览

apache-pulsar - Apache pulsar 以不可预知的方式超时

我独立安装了 Apache pulsar。Pulsar 有时会超时。它与高吞吐量无关,也与特定主题(以下日志)无关。Pulsar-admin 代理运行状况检查也返回 OK 或超时。如何对此进行调查?

0 投票
1 回答
122 浏览

apache-pulsar - Pulsar 客户端错误 - 无法加载身份验证插件

尝试在本地运行 pulsar-client consume 命令时,出现错误:

无法加载身份验证插件

这是我运行的命令:

./pulsar-client consume persistent://data-log/ingest/data-log-kafka -s damo

我有一个client.conf配置,下面列出了来自 pulsar 的完整“堆栈跟踪”。我看不到我错过了什么

任何提示表示赞赏!谢谢

0 投票
2 回答
609 浏览

apache-pulsar - 如何查询 Apache-Pulsar?

Apache pulsar 通过分层存储卸载器提供了一个非常有趣的架构。

我想知道如何从另一个应用程序进行交互式查询?我的意思是直接查询键值系统/“数据库”,而不是使用 pulsar-sql,它在下面使用 Presto。

在推特上的@sijieg 中,发布了以下架构: 在此处输入图像描述

看起来我可以访问 State-store(甚至是 Segment-reader)并直接访问 Bookies 中的数据(可能还有分层存储,根据 Metastore?)我们如何访问这些 State-store/Segment-reader并像 Flink-Pulsar 或 Spark-Pulsar 一样访问数据。