首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Kafka 常用脚本与配置

Kafka 常用脚本与配置

作者头像
兜兜毛毛
发布2020-12-31 10:22:22
6940
发布2020-12-31 10:22:22
举报
文章被收录于专栏:兜兜毛毛兜兜毛毛

脚本

作用

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 <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

命令

说明

kafka-dump-log.sh --files <segment file path>

查看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 <group name>

查看指定消费分组消费详情

kafka-run-class.sh

命令

说明

kafka-run-class.sh kafka.tools.GetOffsetShell --broker-list localhost:9092 --topic '<topic name>'

查看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秒)

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • kafka-topics.sh
  • kafka-dump-log.sh
  • kafka-consumer-groups.sh
  • kafka-run-class.sh
  • 常用配置
    • Broker配置
      • Producer配置
        • Consumer配置
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档