脚本
作用
kafka-server-start.sh
kafka启动
kafka-server-stop.sh
kafka停止
kafka-topics.sh
查看创建删除topic
kafka-console-consumer.sh
消费者操作,例如监听topic
kafka-console-producer.sh
生产者操作,例如发消息
kafka-consumer-groups.sh
消费者组操作
kafka-consumer-perf-test.sh
测试消费者性能
kafka-producer-perf-test.sh
测试生产者性能
kafka-ressign-partitions.sh
分区重新分配
zookeeper-server-start.sh
zk操作:启动或停止连接ZK
kafka-topics.sh
命令
说明
kafka-topics.sh --zookeeper
查看所有topic列表
kafka-topics.sh --zookeeper
创建topic
kafka-topics.sh --describe --zookeeper localhost --topic
topic描述信息(可查看topic partition信息)
kafka-topics.sh --delete --zookeeper localhost --topic
删除topic
kafka-dump-log.sh
命令
说明
kafka-dump-log.sh --files
查看kafk segment文件信息
kafka-consumer-groups.sh
命令
说明
kafka-consumer-groups.sh --bootstrap-server localhost:9092 --list --all-groups
查看所有消费分组
kafka-consumer-groups.sh --bootstrap-server localhost:9092 --describe --all-groups
查看所有消费分组详情
kafka-consumer-groups.sh --bootstrap-server localhost:9092 --describe --group
查看指定消费分组消费详情
kafka-run-class.sh
命令
说明
kafka-run-class.sh kafka.tools.GetOffsetShell --broker-list localhost:9092 --topic '
查看topic分区对应offset
常用配置
Broker配置
配置
默认值
说明
auto.create.topics.enable
true
是否允许在服务器上自动创建topic,建议设置为false
delete.topic.enable
true
是否允许删除topic。如果关闭此配置,通过管理工具删除topic将不再生效。
log.dir
/tmp/kafka-logs
保存日志数据的目录
log.segment.bytes
1GB
单个segment大小
log.roll.hours
168(小时)
新日志段轮转时间间隔(小时为单位),次要配置为log.roll.ms
log.roll.ms
null
新日志段轮转时间间隔毫秒级,优先级高于log.roll.hours
log.index.size.max.bytes
10MB
offset索引或者timestamp索引文件切分大小
log.index.interval.bytes
4096(4KB)
索引稀疏大小,以消息的大小来控制(设置越大,代表扫描速度越快,但更耗内存)
log.message.timestamp.type
CreateTime
时间戳索引时间类别CreateTime是创建时间,LogAppendTime是消息追加时间
log.cleaner.enable
true
日志清理开关
log.cleanup.policy
delete
删除方式delete直接删除,compact日志压缩
log.retention.check.interval.ms
30000(ms)
日志清理频率(毫秒)
log.retention.hours
168小时(一周)
时间戳过期时间(超出该时间删除)
log.retention.minutes
null
时间戳过期时间(分钟)
log.retention.ms
null
时间戳过期时间(毫秒)
log.retention.bytes
-1
根据日志文件大小限制
unclean.leader.election.enable
false
指定副本是否能够不再ISR中被选举为leader,即使这样可能会丢数据
Producer配置
参数名
默认值
说明
batch.size
16384(byte)
多少条发送一次
linger.ms
5(ms)
批量发送的等待时间
acks
1
0 发出去就确认、1 leader落盘就确认 、all所有Follower同步才完成
retries
3
异常自动重试次数
buffer.memory
33554432(32M)
客户端缓冲区大小,满了也会触发发送
max.block.ms
3000(ms)
获取元数据时生产者的阻塞时间,超时后抛出异常
Consumer配置
参数名
默认值
说明
auto.create.topic.enable
true
是否开启默认创建Topic(生产环境建议关闭,手动控制)
auto.offset.reset
latest
latest从最新的消息开始消费、earliest从最早的消息开始消费、none如果consumer group 在服务端找不到offset会报错
enable.auto.commit
true
true代表消费者消费消息之后自动提交,此时Broker会更新消费者组的offset。如需确保消息不丢失,最好将该设置为false手动处理
auto.commit.interval.ms
5000
自动提交频率(5秒)