【车联网kafka】常用参数及其命令总结(第八篇)

发布于:2025-08-17 ⋅ 阅读:(19) ⋅ 点赞:(0)

目录

1、kafka参数

1.1 、消费者消息批次发送

1.2 、消息大小的配置(环环相扣的消息大小,调整时需要一起调整)

1.3 、消息重试发送幂等

1.4、消息提交

1.5、分区分配策略(自己看的设置)

1.6、文件存储

2、kafka命令

2.1 常用命令一览

2.2 具体命令通过 --help 可以自己看一下哈


我把想到的kafka用到的配置以及命令做一个简单的梳理,如果有写的不对的地方,和缺失的地方还望大家多多指正。

1、kafka参数

1.1 、消费者消息批次发送

消费者消息批次发送,需要调整的话需要进行压测,选择适合自己的配置(需要考虑消息大小,网络带宽等问题)

buffer.memory      =   32MB   // kafka producer能够使用的内存缓冲的大小

batch.size             =  16KB    // producerBatch 消息批次的大小

ling.ms                  =  0          // 发送等待时间

max.request.size  = 1MB     // 生产者能够发送的单条消息的最大的值

1.2 、消息大小的配置(环环相扣的消息大小,调整时需要一起调整)

注意的规则:

replica.fetch.max.bytes     ≥    message.max.bytes     ≥    max.message.bytes

batch.size  < max.request.size       ≤    message.max.bytes  ≤ fetch.max.bytes

分区数 × max.partition.fetch.bytes ≤ fetch.max.bytes

max.request.size            // 生产者端:生产者能够发送的单条消息的最大的值(默认1MB)

message.max.bytes       // broker端: 单条消息最大尺寸控制阀值(默认1MB)

max.message.bytes       // broker端:    Topic该参数跟 message.max.bytes 参数的作用是一样的,只不过 max.message.bytes 是作用于某个 topic,而 message.max.bytes 是作用于全局

replica.fetch.max.bytes   //broker端:副本同步约束

fetch.max.bytes              // 消费者端:单次请求最大数据量(默认50MB)

max.partition.fetch.bytes//消费者端:单分区最大获取量(1MB)

compression.type           //snappy,gzip,lz4 (消息过大,注意压缩)

1.3 、消息重试发送幂等

注意:

retry.backoff.ms 可以设置:500ms,kafka中topic分区的副本首领选举的整个过程是500ms以内完成的(保持和副本首领选举的时间)

消息大小超过了request.max.size 或者超过了message.max.bytes 类似这样的错误,kafka是不会选择重试的,因为这种错误是无法通过重试而成功的

retry.backoff.ms             //重试间隔时间

retries                            //重试次数

enable.idempotence     //消息发送幂等

max.in.flight.requests.per.connection = 1  // 设置为一可以保证单partition的顺序(其他无法保证)

acks                              // 0,1,all

1.4、消息提交

enable.auto.commit //设置为true 自动提交,建议手动

auto.commint.interver //多长时间提交一次 默认5S

1.5、分区分配策略(自己看的设置)

partition.assignment.strategy    //可以选择 StickyAssignor

1.6、文件存储

log.segment.bytes //默认1GB  log文件切割大小

log.roll.hours         // 日志时间戳和当前log文件记录时间的差值

log.index.size.max.bytes   //日志索引最大值 默认 10MB

log.index.interval.bytes     // 索引文件密度  默认4KB

就想到这么,后续想到在补充

2、kafka命令

2.1 常用命令一览

1、kafka-acls.sh #配置,查看kafka集群鉴权信息

2、kafka-configs.sh #查看,修改kafka配置

3、kafka-console-consumer.sh #消费命令

4、kafka-console-producer.sh #生产命令

5、kafka-consumer-groups.sh #查看消费者组,重置消费位点等

6、kafka-consumer-perf-test.sh #kafka自带消费性能测试命令

7、kafka-mirror-maker.sh #kafka集群间同步命令

8、kafka-preferred-replica-election.sh #重新选举topic分区leader

9、kafka-producer-perf-test.sh #kafka自带生产性能测试命令

10、kafka-reassign-partitions.sh #kafka数据重平衡命令

11、kafka-run-class.sh #kafka执行脚本

12、kafka-server-start.sh #进程启动

13、kafka-server-stop.sh #进程停止

14、kafka-topics.sh #查询topic状态,新建,删除,扩容

2.2 具体命令通过 --help 可以自己看一下哈


网站公告

今日签到

点亮在社区的每一天
去签到