1

我们在 Pulsar 集群中观察到以下警告。我们要关心它吗?

     18:37:37.165 [pulsar-modular-load-manager-29-1] 
       WARN  org.apache.pulsar.brok er.loadbalance.BundleSplitStrategy - 
       Could not split namespace bundle pulsareval/0x56000000_0x56800000
       because namespace pulsareval has too many bundles: 512
4

1 回答 1

2

首先是关于什么是捆绑包的背景...... 来自https://pulsar.apache.org/docs/en/administration-load-balance/#creating-namespaces-and-bundles

每个 Pulsar 代理都没有被分配给一个单独的主题,而是拥有一个命名空间的主题子集的所有权。该子集称为“捆绑包”,实际上它是一种分片机制。

通过获取主题名称的散列并查看散列属于哪个包,将主题分配给特定包。每个捆绑包都独立于其他捆绑包,因此被独立分配给不同的代理。

一般来说,如果事先知道预期的流量和主题数量,最好从合理数量的捆绑包开始,而不是等待系统自动更正分发。

命名空间捆绑拆分

由于捆绑中主题的负载可能会随着时间而变化,或者可能很难预先预测,因此代理可以将捆绑分成两部分。然后可以将新的较小捆绑包重新分配给不同的代理。

您的错误消息表明主题的数量增长到足以触发捆绑包的自动拆分,但未能达到命名空间中允许的最大捆绑包数量。虽然这是一个非致命的情况,但它会影响性能。

因此,您可能希望增加loadBalancerNamespaceMaximumBundlesbroker.conf 文件中的属性值,这会限制您可以在命名空间中拥有的最大捆绑包数量。根据错误消息,这似乎是正在发生的事情。

于 2019-07-31T20:34:02.350 回答