Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/297.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache kafka 如果数据是持久存储的,如何在kafka上重新平衡数据_Apache Kafka - Fatal编程技术网

Apache kafka 如果数据是持久存储的,如何在kafka上重新平衡数据

Apache kafka 如果数据是持久存储的,如何在kafka上重新平衡数据,apache-kafka,Apache Kafka,我刚接触卡夫卡,正准备将其用于制作 如果主题当前分区的代理正在耗尽磁盘空间,如果可以向集群添加更多代理,那么可以使用哪些策略来重新平衡数据存储 通过一个简单的例子,假设一个主题在开始时有3个分区,1个副本以简化问题,3个代理每个存储该主题的1个分区,每个分区占用1TB的磁盘空间 我如何才能再添加3个新的代理服务器,并将topic的分区数量更改为6个,最终导致6个分区中的每个分区都在其代理上占用500GB的磁盘空间,从而实现数据重新平衡 我认为这个问题对于在kafka集群中永久存储大量数据至关重要

我刚接触卡夫卡,正准备将其用于制作

如果主题当前分区的代理正在耗尽磁盘空间,如果可以向集群添加更多代理,那么可以使用哪些策略来重新平衡数据存储

通过一个简单的例子,假设一个主题在开始时有3个分区,1个副本以简化问题,3个代理每个存储该主题的1个分区,每个分区占用1TB的磁盘空间

我如何才能再添加3个新的代理服务器,并将topic的分区数量更改为6个,最终导致6个分区中的每个分区都在其代理上占用500GB的磁盘空间,从而实现数据重新平衡

我认为这个问题对于在kafka集群中永久存储大量数据至关重要

谢谢。

kafka reassign partitions&kafka preferred replica election是处理此类重定位任务的内置命令,如在群集扩展上

有许多可供选择的替代品,例如from和

如何再添加3个新的代理服务器

将主题的分区数量更改为6


注意:这不会将现有数据重新定位到新分区,也不会重新设置主题的关键字。另外,请记住,创建主题后,将定义副本和ISR。在可能的情况下,尝试选择一个3的复制系数,以提高弹性和耐用性。在某些棘手的情况下,在3节点群集中使用2的复制因子是没有帮助的,在这种情况下,如果3个代理中的一个发生故障,则任何可用或在线代理都不会加入副本集以满足复制因子并移动到ISR中。 在这样的情况下,您将以不完整的ISR结束,更糟糕的是,以单点故障结束


请注意,如果与扩展或收缩Kafka集群不同,则代理处于关闭状态

也许有个问题?重新分配分区工具会执行“重新设置密钥”操作吗?如果在现有分区永久/持久地存储大量数据后,通过-alter命令将新分区添加到主题中,而不进行重新设置密钥的过程,则主题中的数据分布仍然是不平衡的。分区中的数据不会移动,只移动分区本身。我所知道的为主题重新设置密钥的唯一方法是创建一个具有更多分区的主题,然后从一个分区中使用,然后写信给另一个分区谢谢你!对于集群中的所有主题,我将至少有3个副本,上面的参数只是一个简单的例子。