【车联网kafka】常用参数及其命令总结(第八篇)
目录
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状态,新建,删除,扩容