栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

[kafka]副本设定 | 压测 | 机器数量 | 分区数 | 数据量计算 | 硬盘大小 | 日志保存时间 | 监控 | 多少个topic

[kafka]副本设定 | 压测 | 机器数量 | 分区数 | 数据量计算 | 硬盘大小 | 日志保存时间 | 监控 | 多少个topic

1.副本设定

一般我们设置成2个或3个.很多企业设置为2个.

副本的优势:提高可靠性.副本的劣势:增加了网络IO传输

2.kafka压测

kafka官方自带压力测试脚本:kafka-consumer-pref-test.sh kafka-preducer-pref-test.sh

kafka压测时,可以查看到哪个地方出现了瓶颈(CPU 内存 网络IO),一般都是网络IO达到瓶颈.

消费能力测试:

bin/kafka-consumer-pref-test.sh 
--zookeeper node01:2181 
--topic test 
--fetch-size 10000  
--messages 110000000  
--threads 1

--fetch-size 指定每次fetch的数据大小

--messages 指定总共要消费的数据量

--threads 线程数

3.kafka的机器数量

原则:kafka的生产能力不能大于消费能力

kafka的机器数量(经验公式)=2*(峰值速度m/s*副本数/100)+1

比如压力测试写入(生产)速度为10m/s每台,峰值为50m/s,副本数为2

kafka数量=2*(50*2/100)+1=3台

4.kafka的分区数

1)创建一个只有1个分区的topic

2)测试这个topic的producer吞吐量和consumer吞吐量.

3)假设他们的值分别为tp和tc,单位可以是mb/s

4)然后假设总的目标吞吐量是tt,那么分区数=tt/min(tp,tc)

例如:producer吞吐量=20m/s,consumer吞吐量=50m/s 期望吞吐量100m/s

分区数=100/20=5分区

分区一般设置为3-10个(取5个)

5.kafka中数据量计算

每天总数据量100g,每天产生1亿条日志,10000万/24/60/60=1150条/每秒

平均每秒:1150条

低谷每秒:50条

高峰每秒:1150*(2-20倍)=2300条-23000条(取10000条)

每条日志大小:0.5-2k(取1k)

每秒多少数据量:2m-20m 10000*1k=10m

6.kafka的硬盘大小

每天的数据量100g*2个副本*3天/70%=600g/0.7=900g

7.kafka日志保存时间

默认为7天,生产环境建议3天.

8.kafka监控

开源监控器:kafkamanager kafkamonitor

9.多少个topic

一般多少个日志类型就多少个topic,也有对日志类型进行合并的。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/774042.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号