脚本 | 作用 |
---|---|
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 --zookeeper <zookeeper host> --list | 查看所有topic列表 |
kafka-topics.sh --zookeeper <zookeeper host> --topic <topic name> --create --partitions <partition数量> --replication-factor <副本数量> | 创建topic |
kafka-topics.sh --describe --zookeeper localhost --topic <topic name> | topic描述信息(可查看topic partition信息) |
kafka-topics.sh --delete --zookeeper localhost --topic <topic name> | 删除topic |
命令 | 说明 |
---|---|
kafka-dump-log.sh --files <segment file path> | 查看kafk segment文件信息 |
命令 | 说明 |
---|---|
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 <group name> | 查看指定消费分组消费详情 |
命令 | 说明 |
---|---|
kafka-run-class.sh kafka.tools.GetOffsetShell --broker-list localhost:9092 --topic '<topic name>' | 查看topic分区对应offset |
配置 | 默认值 | 说明 |
---|---|---|
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,即使这样可能会丢数据 |
参数名 | 默认值 | 说明 |
---|---|---|
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) | 获取元数据时生产者的阻塞时间,超时后抛出异常 |
参数名 | 默认值 | 说明 |
---|---|---|
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秒) |