问题标签 [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.
java - AvroSchema 无法解析
我对 AvroSchema 有一个疑问,我正在创建一个具有 AvroSchema 的 Java 程序是一种模式。在这一行中 Producer producer = pulsarClient.newProducer(AvroSchema.of(Foo.class)).topic("test_topic")。创造(); newProducer 方法的第一个参数是 schema,这里我们传递了一个 Foo 类的 AvroSchema,但是它给出的错误 AvroSchema 无法解析。
我正在关注https://pulsar.apache.org/docs/en/sql-getting-started/ 这个 url 以实现 pulsar sql 连接。这个问题的原因是什么?提前致谢 !!
apache-pulsar - Apache Pulsar 中的主题复制
Pulsar中有关复制的文档描述性不是很强。我想知道复制如何详细工作以及命名空间的持久性策略如何发挥作用。文档讨论了这些参数
bookkeeper-ack-quorom
: 等待每个条目的确认数(保证副本)bookkeeper-ensemble
: 用于主题的 bookie 数量bookkeeper-write-quorum
: 每个条目要写入多少次
是否bookkeeper-ack-quorom
意味着,对客户端的 ack 会延迟到这个数量的 bookie 将条目写入磁盘?
bookkeeper-ensemble
和 和有什么不一样bookkeeper-write-quorum
?
假设我有 3 个 bookie,并且我希望命名空间中的主题驻留在每个 bookie 上,然后我将两个值都设置为3
?
apache-spark - 透明流和批处理
我对流和批处理的世界还是很陌生,并试图理解概念和语言。诚然,我的问题的答案很可能众所周知,很容易找到,甚至在 SO 上回答了一百次,但我找不到它。
的背景:
我正在从事一个大型科学项目(核聚变研究),我们在实验运行期间产生了大量的测量数据。这些数据主要是带有纳秒时间戳标记的样本流,其中样本可以是任何东西,从单个的 ADC 值,通过这样的数组,通过深度结构化的数据(从 1 位布尔值到 64 位双精度的多达数百个条目浮动)到原始高清视频帧甚至字符串文本消息。如果我正确理解常用术语,我会将我们的数据大部分视为“表格数据”。
我们正在使用大多数自制软件解决方案,从简单的在线(流式)分析(如缩放、二次采样等)到我们自己的数据存储、管理和访问设施的数据采集。
鉴于操作的规模和维护所有这些实现的努力,我们正在研究使用标准框架和工具来完成更多任务的可能性。
我的问题:
特别是在这个阶段,我们面临着对实时/在线/实时数据的越来越复杂(自动和手动)数据分析以及“历史”数据的“事后”离线/批量分析的需求。在此努力中,我试图了解现有的分析框架(如 Spark、Flink、Storm 等)(可能由 Kafka、Pulsar 等消息队列支持)是否以及如何支持一种场景,其中
- 数据流入/流入平台/框架,附加一个标识符,如 URL 或 ID 等
- 平台与集成或外部存储交互以保存与标识符相关联的流数据(多年)
- 分析流程现在可以透明地查询/分析由标识符和任意(打开或关闭)时间窗口寻址的数据,并且该框架提供数据批次/样本以进行分析,无论是来自后端存储还是来自数据采集的实时数据
简单地将在线数据流式传输到存储中并从那里查询似乎没有选择,因为我们需要原始数据和分析数据来进行实时监控和实验的实时反馈控制。此外,让用户以不同的方式查询实时输入信号或历史批次也不理想,因为我们的物理学家大多不是数据科学家,我们希望让这些“技术”远离他们,理想情况下使用完全相同的算法应用于分析来自先前实验的新实时数据和旧存储数据。
站点注释:
- 我们正在谈论每秒 10 千兆比特范围内的 peek 数据负载,这些数据负载会以秒到几分钟的长度突然增加 - 这可以由候选人处理吗?
- 我们正在使用纳秒分辨率的时间戳,甚至考虑 pico - 如果我理解正确,这会对可能的候选人列表造成一些限制?
如果有人能够理解我的问题并为我阐明这个话题,我会非常高兴:-)
非常感谢和亲切的问候, Beppo
apache-pulsar - TTL(生存时间)如何应用于命名空间?
Apache Pulsar 具有官方文档的消息保留和到期主题下记录的 TTL 功能。但是,我无法确定在配置中的哪个位置设置了此检查的频率。使用标准bin/pulsar standalone
命令,自定义命名空间,ttl 配置为 5 seconds bin/pulsar-admin namespaces set-message-ttl public/ttl-test --messageTTL 5
。
我可以看到消息仅在设置的时间间隔后过期,并且以下日志消息打印到控制台:
15:11:59.337 [pulsar-msg-expiry-monitor-52-1] 信息 org.apache.pulsar.broker.service.persistent.PersistentMessageExpiryMonitor - [persistent://public/ttl-test/my-topic] [spark -shell] 开始消息过期检查,ttl= 5 秒
我的问题的关键是:如何提高检查消息是否超过 TTL 的速率?
openssl - ubuntu 服务器上 apache pulsar 客户端在 tls auth 握手期间出错
我已经在本地运行 Pulsar的 Ubuntu 18.04.2 LTS 上设置了 apache pulsar 独立 v2.3 。无需任何身份验证即可正常工作。我尝试使用security-tls-transport和security-tls-authentication配置 tls 证书。我已经修改了以下配置broker.conf
,client.conf
并standalone.conf
按照链接中的说明进行了修改。使用命令运行 pulsarbin/pulsar standalone
并使用以下命令发送消息。
bin/pulsar-client produce my-topic --messages "hello-pulsar"
但它会引发以下错误
有人可以帮忙解决这个问题吗?
python - 如何更改 Pulsar 运行的端口?
我想与 apache 气流一起运行 pulsar。问题是两者都在端口号 8080 上运行。我不想更改 Airflow 的配置,但为了让 pulsar 运行,我必须为其分配另一个端口。我正在使用一个 Python 库,它在 8080 上运行气流。
我尝试浏览独立安装文档,但无法通过它获得任何东西。我的目标是运行 Pulsar 的 Python 客户端。
如何更改 Pulsar 的端口配置?
apache-kafka - pulsar 和 kafka 在消费方面有什么区别?
为了消费来自 Kafka 的数据,我们可以在一个主题上有多个消费者,完全解耦。那么,在 kafka 和 pulsar 之间存在差异no shared consumption
的页面上(https://streaml.io/blog/pulsar-streaming-queuing )是什么意思?
apache-kafka - 低延迟分布式日志
是否有用于生产就绪的低延迟分布式日志的现有软件?这个想法是在将输入消息发送到服务本身之前将它们存储到服务。当服务启动时,它会获取其状态的最新快照并重播输入消息。如果服务是确定性的,则可以一次运行服务的多个实例。这将提供高可用性和零停机时间部署。
有许多可用的日志,但有些是高延迟的,有些不是很分布式/可集群的,有些还没有准备好生产。
可用的分布式日志软件
卡夫卡
NATS 流媒体
坦克
分布式日志
脉冲星
RocketMQ
升降桥
黑猩猩
日志设备
要求
消息/事件持久性(在内存中或磁盘上)
主题/分区内的消息排序
At-least-once-delivery:发布者和服务器之间的消息确认(用于发布操作)以及订阅者和服务器之间的消息确认(确认消息传递)
按主题重播历史消息:新订阅可以指定为订阅主题的频道存储的消息流中的开始位置。
高可用性:应该有多个集群节点,它们之间有复制
低延迟:如果我们要等到两个节点收到消息后再发送,那么它必须是低延迟的。理想情况下只有几毫秒,但不超过几十毫秒。这就是为什么 Kafka 似乎不适合这个的主要原因。
有什么我错过的选择吗?
python - Pulsar:在持久化://public/default/test 上订阅时检查/获取分区元数据时出错
我目前有一个docker-compose.yml
文件,它带来了许多服务。其中一个服务是 pulsar,另一个是通过 websocket 连接的网络服务器。当我启动这些服务时,websocket 容器不起作用。它的日志说:Error Checking/Getting Partition Metadata while Subscribing on persistent://public/default/test
。我没有使用分区,所以我很难弄清楚这一点。
到目前为止,我已经做了很多谷歌搜索,发现这个问题没有答案,但看起来与我的问题相似。
这是我的docker-compose.yml
文件:
当我检查两者的日志时ios_pos_ws_input
,ios_pos_ws_sink
我看到了:
我真的很想弄清楚这一点。我提前感谢任何帮助!