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

mysql - 使用 MySQL/InnoDB 重新平衡表分片

我有一个巨大的 InnoDB 表(>1TB,>1B 行),我想分片:我想从那个大表中创建多个较小的独立表。

怎么做 ?

我已经尝试过的:

  • 通过从原始表中选择行并将它们插入分区来将行移动到分区。这需要很长时间,并且在操作期间保持行同步是很困难的(但似乎可以使用触发器,只要分区在同一台服务器上)。我还没有找到一个现成的工具来做到这一点。
  • 复制整个表,然后删除不属于分区的行。仍然很慢,尤其是考虑到桌子的大小。显然,这就是 MySQL Fabric 所做的。

随机的疯狂想法:

  • 离线拆分.idb文件,并将其导入服务器,但我不知道是否存在能够执行此操作的工具。

显示创建表:

分片键是 account_id。当前的主键是(account_id,id)使行由account_id.

是否有任何工具可以自动执行此任务?有没有更好的方法来做到这一点?

0 投票
1 回答
906 浏览

metrics - Service Fabric 资源平衡器使用过时的报告负载

在研究 Service Fabric 上的资源平衡器和动态负载指标时,我们遇到了一些问题(运行 devbox SDK GA 2.0.135)。
在 Service Fabric Explorer(门户和独立应用程序)中,我们可以看到平衡运行非常频繁,大部分时间几乎立即完成,并且每秒都会发生这种情况。在查看节点或分区上的负载度量信息时,它不会在我们报告负载时更新值。

我们根据我们的交互(对服务的 HTTP 请求)发送动态负载报告,大量增加单个分区的报告负载数据。这个尖峰在 5 分钟后在某处变得可见,此时平衡器实际上开始平衡。这似乎是刷新负载数据的时间间隔。最后报告的时间一直在更新,但没有新值。

我们将指标添加到 applicationmanifest 和 clustermanifest 以确保在平衡中使用它。这意味着资源平衡器使用相同的数据 5 分钟。这是可配置的设置吗?是因为它在开发盒上运行而受到限制吗?我们在集群清单中尝试了很多变量,但似乎没有一个会影响刷新时间。

如果这不适应,有人可以解释为什么你会用陈旧的数据运行平衡器吗?为什么选择这个 5 分钟的间隔?

0 投票
2 回答
3872 浏览

apache-kafka - Kafka 连接器 - 无法停止重新平衡

我正在使用kafka connector confluent 3.0.1版本。我创建了一个名为new-group的新组,上面大约有​​20个主题。这些主题大部分都很忙。但是很遗憾,当我启动连接器框架时,系统无法停止重新平衡,所有主题的重新平衡大约需要 2 分钟。我不知道原因。一些错误信息是:

我不知道这是否与持续再平衡有关。

我知道如果 KafkaConsumer.poll() 比配置的 timeout 长,kafka 将撤销分区并因此触发重新平衡,但我很确定每次轮询不会那么长。任何人都可以给我一些线索?

0 投票
1 回答
671 浏览

java - 当组中的一个订阅者被严格分配到特定分区时,Kafka 重新平衡

Kafka 重新平衡旨在将主题的所有分区重新分配给订阅者组的活跃成员,以便在任何给定时刻只有一个消费者使用任何主题分区。所以万一消费者刚刚订阅了一个主题,一切都清楚了,但是消费者 api 还提供了一种将特定分区分配给消费者的方法:

void assign(Collection<TopicPartition> partitions)

现在假设我们有:

  • 一个有 5 个分区的主题:1,2,3,4,5
  • 一个有 3 个成员的消费者组:1,2,3
  • 成员 1 和 2刚刚订阅了一个主题,成员 3已将分区 1 分配给自己

那么在这种情况下,再平衡将如何进行呢?分区 1 是否总是被分配给成员 3(当它处于活动状态时)导致其他成员只能从其他分区(2、3、4、5)读取?组协调员可以将另一个分区分配给成员 3 吗?如果成员 3 出现故障然后又回来,分区 1 会发生什么情况?

提前致谢

0 投票
0 回答
716 浏览

apache-kafka - Kafka 消费者在提交偏移和重新平衡时失败

我有一个只订阅一个主题的 Kafka 消费者。在某个时间点,正常工作后,我在日志中收到以下消息:

我的代码非常简单:

奇怪的是,我得到了最后一个 WARN 日志(“KafkaConsumer 将被关闭”)而没有进入异常日志(显然没有异常),并且“关闭”变量没有被更改。

我有多个消费者在不同的主题上并行运行,但我认为这不相关。代理位于同一子网中的不同物理机器上。

你能否给我一些关于这里发生的事情的提示以及我如何处理这个问题以防止消费者断开连接或至少能够从中恢复?

提前非常感谢。

0 投票
1 回答
760 浏览

c - 红黑树插入代码

我正在尝试为自己的学习编写一个红黑树的实现,我已经盯着这个看了几天了。

谁能帮我弄清楚如何让双旋转箱正常工作?如果您在浏览这些片段时发现了其他任何令人讨厌的东西,请随时让我觉得自己像个白痴。

感谢您的帮助。

再平衡功能

相关职能

旋转函数

RBT 定义

0 投票
6 回答
8084 浏览

apache-kafka - 如何检查 Kafka Consumer 是否准备就绪

我将 Kafka 提交策略设置为最新并且缺少前几条消息。如果我在开始将消息发送到输入主题之前休眠 20 秒,那么一切都按预期工作。我不确定问题是否与消费者花费很长时间进行分区重新平衡有关。有没有办法在开始轮询之前知道消费者是否准备好?

0 投票
3 回答
844 浏览

apache-kafka - 使用自动提交时消费者重新平衡

我们正在使用具有以下配置的消费者 kafka 客户端 0.10.2.0:

如您所见,我们正在使用自动提交。我们使用的消费者 API 版本有一个专门的线程来执行自动提交。所以每一秒我们都有一个自动提交,这意味着我们每一秒都有一个心跳。

我们的应用程序处理时间实际上可能需要(有时)超过 40 秒(请求超时间隔)

我想问的是:

1 - 如果处理时间需要,例如,一分钟。尽管每秒都有自动提交heartbean,但是否会重新平衡?

2 - 更奇怪的是,在长时间执行的情况下,我们似乎不止一次收到相同的消息。正常吗?如果消费者已经提交了偏移量,为什么重新平衡会再次使用相同的偏移量?

谢谢, 奥雷尔

0 投票
1 回答
1284 浏览

couchbase - couchbase 重新平衡失败并出现错误 - 重新平衡退出,原因是 {badmatch,fai​​led}

我正在建立一个集群。我尝试加入 3 个节点,但在重新平衡时。我得到以下错误。所以我从 debug.log 中提取了一些信息,但无法确定确切的问题。感谢任何帮助。

这是此时集群创建的障碍。

0 投票
0 回答
508 浏览

apache-spark - Spark-Streaming-Kafka:在使用 Assign 寻找最新偏移量后重新平衡分区

我有三个 Spark Streaming 作业,用于ConsumerStrategies.Assign[]()寻找提交到数据库中的最新偏移量。

这些作业中的每一个都从主题中的三个分区之一读取(例如:分区 0,1 和 2)。如果其中一个 Spark Streaming 作业失败,是否可以将该分区重新平衡到当前正在运行的其他两个作业之一。

我知道您可以在普通 Kafka 中使用ConsumerRebalanceListener,onPartitionsProvoked()onPartitionsAssigned(). 但是你将如何在 Spark-Streaming-Kafka 中做到这一点?