kafka节点数规划

南墨2年前技术文章968

按磁盘容量规划节点数

Kafka的数据存放在本地磁盘,建议使用SAS盘,提供较高磁盘IO,以提高Kafka吞吐量。在本规划基于的硬件规格下,单节点平均吞吐量参考值为读300MB/s,写150MB/s。

数据输入

  • 数据输入吞吐量

  • 单节点磁盘容量

  • 数据保留时间

  • 数据复本数

  • 单个消费者的峰值

  • 单个生产者的峰值

磁盘实际容量

由于磁盘存在1M = 1024 KB or 1M = 1000KB的算法不同,一般来说,

磁盘实际可用容量 = 磁盘标注容量 * 0.9

举例说明,磁盘标注容量为600G,实际容量=600 * 0.9 = 540G。

数据副本数

副本数直接决定了消息的膨胀率,如:一条写入到topic1中的消息大小是1M,topic1的副本数是3,那么最终存入broker的消息大小就是3M。

分区数要求

Kafka集群中,分区越多吞吐量越高,但是分区过多也存在潜在影响,例如文件句柄增加、不可用性增加

(如:某个节点故障后,部分Partition重选Leader后时间窗口会比较大)及端到端时延增加等。

建议:

单个Partition的磁盘占用最大不超过100GB;单节点上Partition数目不超过3000;整个集群的分区总数不超过10000。


相关文章

kafka开启Kerberos

1、修改server.properties#增加如下配置 listeners=SASL_PLAINTEXT://IP:port security.inter.broker.protocol=SAS...

数仓主流架构简介之三

数仓主流架构简介之三

一、数仓架构经历过程随着数据量的暴增和数据实时性要求越来越高,以及大数据技术的发展驱动企业不断升级迭代,数据仓库架构方面也在不断演进,分别经历了以下过程:早期经典数仓架构 > 离线大数据架构 &...

Golang 垃圾回收

Golang 垃圾回收

1、标记清除算法Golang 使用标记清除算法作为垃圾回收器的一部分。标记清除算法是一种常见的垃圾回收算法,它通过标记和清除未被引用的对象来回收内存空间。Golang 中,垃圾回收器会定期扫描堆空间,...

oracle手工完全恢复

一)基本概念1)完全恢复的步骤1)restore: OS拷贝命令还原所有或部分datafile2)recover:SQL*PLUS利用归档日志和当前的redo日志做恢复2)完全恢复可以基于三个级别re...

Docker 容器技术:简化 MySQL 主从复制部署与优化

前言    在现代数据库管理中,MySQL 主从复制是一种关键技术,用于提高数据的可用性和性能。随着 Docker 容器技术的普及,利用 Docker 搭建 MySQL 主从复制环境已成为一种趋势,它...

数据库连接异常问题排查

数据库连接异常问题排查

问题描述客户反馈应用端连接数据库异常,报错截图如下:“已超过了锁请求超时时段”。问题排查1、测试端口联通性从应用侧服务器上分别测试数据库服务端口联通性,检测服务正常监听2、数据库服务器重启同客户沟通优...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。