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

目录

1、kafka参数

[1.1 、消费者消息批次发送](#1.1 、消费者消息批次发送)

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

[1.3 、消息重试发送幂等](#1.3 、消息重试发送幂等)

1.4、消息提交

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

1.6、文件存储

2、kafka命令

[2.1 常用命令一览](#2.1 常用命令一览)

[2.2 具体命令通过 --help 可以自己看一下哈](#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 可以自己看一下哈