问题标签 [rebalancing]

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 回答
3697 浏览

apache-kafka - 卡夫卡再平衡和听众陷阱

我正在阅读 Kafka: The Definitive Guide,并希望更好地了解重新平衡侦听器。书中的示例 simple 使用 aHashMap来维护当前已处理的偏移量,并将在撤销分区时提交当前状态。我的担忧是:

关于代码示例,我有两个问题/疑问:

  1. 使用的语言让我假设这些回调是在不同的线程上进行的。那么,在应用当前偏移量时不应该考虑线程安全吗?此外,在提交后不应该取消当前批次吗?
  2. 它说使用 commitSync 来确保在重新平衡进行之前提交偏移量。但是,这仅在该消费者中是同步的。是否有某种机制使协调器在收到所有订阅消费者的回复后才会继续?
0 投票
1 回答
623 浏览

out-of-memory - Apache Ignite 2.4 数据分区不均匀导致节点内存不足和崩溃

环境:

  1. 在 Amazon Linux 上运行的 Apache Ignite 2.4。虚拟机是 16CPU/122GB 内存。那里有足够的空间。
  2. 5 个节点,每个 12GB
  3. cacheMode = PARTITIONED
  4. backups = 0
  5. OnheapCacheEnabled = true
  6. atomicityMode = ATOMIC
  7. rebalacneMode = SYNC
  8. rebalanceBatchSize = 1MB
  9. copyOnread = false
  10. rebalanceThrottle = 0
  11. rebalanceThreadPoolSize = 4

基本上,我们有一个进程在启动时填充缓存,然后从 Kafka 接收定期更新,将它们传播到缓存。

缓存中的元素数量随着时间的推移或多或少是稳定的(只是有一点波动,因为我们混合了创建、更新和删除事件),但我们注意到数据在不同节点之间的分布非常不均匀,其中一个节点的键数(和内存利用率)至少是其他节点的两倍。随着时间的推移,该节点要么内存不足,要么开始执行很长时间的 GC,并与集群的其余部分失去联系。

我的期望是 Ignite 会平衡不同节点之间的数据,但现实表明情况完全不同。我在这里错过了什么吗?为什么我们会看到这种不平衡,我们如何解决它?

提前致谢。

0 投票
2 回答
1397 浏览

hbase - 为什么新添加的 HBase 区域服务器无法获取分配的区域?

当我向 HBase 集群添加一个新的区域服务器时,没有为这个新的区域服务器分配任何区域。

新的区域服务器现在出现在 Web UI 上,但它的 Num。根据Web UI,Regions 和 Requests Per Second 都是零。

这是区域服务器日志,这是主日志

似乎区域服务器已成功添加,但重新平衡机制不起作用。

如何在所有区域服务器上重新平衡区域?

这是我第一次在这里提问,希望有人能帮忙,非常感谢。

0 投票
2 回答
1060 浏览

r - 重新平衡具有给定权重的投资组合

鉴于我每月在投资组合中使用权重,但我想重新平衡我的投资组合,比如每季度一次。我如何创建一个函数,从我原来的每月权重中减去每个季度的权重,然后重复这些权重直到下一个季度等?我已经尝试使用包中的Return.portfolioand the Return.rebalancingPerformanceAnalytics但它似乎没有给我正确的答案。

假设原始权重如下所示:

库存 1 应产生以下结果:

与股票 2,3 和 4 类似。我想将所有结果存储在一个新元素中,例如weights.new.

0 投票
1 回答
12755 浏览

kubernetes - Kubernetes - 触发 Pod 的重新平衡

我有一个设置了几个节点的 kubernetes 集群。我想确保 pod 在节点上有效分布。

我会解释:

假设我有两个节点: Node 1 - 2gb ram Node 2 - 2gb ram

我有这些豆荚: Pod 1 - 1gb ram on Node 1 Pod 2 - 100mb ram on Node 1 Pod 3 - 1gb ram on Node 2 Pod 4 - 100mb ram on Node 2

好的,现在问题是:假设我想在集群中添加一个 1gb ram 的 pod。目前任何节点都没有空间,所以 kubernetes 不会这样做(除非我添加另一个节点)。我想知道 kubernetes 是否有一种方法可以将 Pod 3 移动到节点 1 以为新 pod 腾出空间?

帮助

0 投票
1 回答
41 浏览

apache-kafka - 如何在 Apache Helix 实例之间传输业务逻辑相关状态?

Apache Helix 是否能够在节点之间重新平衡数据?例如,我正在开发一个内存数据库,其中一些分区/分片数据需要移动到另一个节点。消息传递应用程序属性存储是解决此问题的一种方法,还是有必要为节点之间的数据流寻找另一种解决方案?

关于后者,使用 RabbitMQ 或 Apache Kafka 等消息队列/系统是否舒适且高效?

0 投票
1 回答
2427 浏览

apache-kafka - Kafka Connect:java.lang.IllegalStateException:分区没有当前分配

我在 Kubernetes(8-16 个节点,自动缩放)上运行 Kafka Connect。我总共定义了 44 个连接器,每个 Kafka 主题一个(每个主题一个分区)。这些主题由 Debezium / Postgresql 生成。有 3 个 Kafka 节点。每个连接器都将 tasks.max 设置为 4。由于 java.lang.IllegalStateException:分区 -0 没有当前分配,我的大多数连接器(但不是每个!)都有一个(总是一个)失败的任务。

这里不是 Kafka 专家,请注意;)我假设有 3 个 Kafka 节点,所以 3 个工作人员做得很好,第 4 个任务没有任何连接,所以它失败了。但是为什么有时有 4 个任务运行得很好呢?

此外,我经常遇到“由于重新平衡而导致操作冲突”的问题,这可能会持续数分钟甚至数小时。最近我删除了所有 pod 并且它们重新启动,问题消失了,但这不是长期解决方案。

tasks.max 的推荐值是多少?提前致谢!

例外:

接收器连接器配置:

它抛出异常java.lang.IllegalStateException: No current assignment for [...]

0 投票
1 回答
147 浏览

sharding - 如何在不停机的情况下为 tarantool 数据库添加另一个分片到生产环境?

我们在生产中使用 tarantool 数据库(使用 vshard 分片)。我们直接从 4 个分片开始。现在我们想在不停机的情况下将其增加到 6。但是,在再添加两个分片后,重新平衡器就会启动,它不允许读取/写入发生。有什么办法可以支持各种操作的再平衡?我们有能力增加手术时间。但这应该是成功的。将分片添加到 tarantool 的最佳实践是什么?

目前,我们能想到的唯一解决方案是进入维护模式并让重新平衡以尽可能短的时间完成!!!

0 投票
1 回答
112 浏览

python - 如何根据滚动分数从投资组合中选择股票?

我正在处理一个家庭作业问题,我应该根据某些限制构建股票投资组合。基于这些限制,我将在投资组合中选择我的股票,并每月根据这些分数对我的投资组合进行重新平衡。所以我有两个数据框——一个是股票收益,另一个是我将在投资组合中挑选股票的分数。此外,数据框的形状是 12x360,即日期是索引,列标题是股票。我有一个 360 个股票世界,必须根据分数选择前 30 名和后 30 名。

由于我是 python 新手,我很难想象如何根据另一个数据框中的值从一个数据框中挑选股票。其次,是否可以在一行中选择前 30 和后 30 的分数,因为我的日期是数据框的索引。

下面是我为清理和计算收益而准备的初始代码。如果有人可以指导我下一步,我将非常感激。

0 投票
0 回答
303 浏览

apache-kafka - 在添加消费者时处理消费者组的重新平衡

我想知道如果将新的消费者添加到组中,我们如何处理消费者组的重新平衡。由于它会自动重新平衡分区分配,因此在尝试处理批处理并提交偏移量时运行的现有消费者会失败。

处理重新平衡或知道重新平衡何时发生,我可以忽略数据处理和提交偏移作业,并要求消费者再次从提交的偏移量轮询消息。