Kafka 常用脚本与配置

Stella981
• 阅读 863

脚本

作用

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

查看所有topic列表

kafka-topics.sh --zookeeper --topic --create --partitions <partition数量> --replication-factor <副本数量>

创建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秒)

点赞
收藏
评论区
推荐文章
blmius blmius
3年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
Easter79 Easter79
3年前
swap空间的增减方法
(1)增大swap空间去激活swap交换区:swapoff v /dev/vg00/lvswap扩展交换lv:lvextend L 10G /dev/vg00/lvswap重新生成swap交换区:mkswap /dev/vg00/lvswap激活新生成的交换区:swapon v /dev/vg00/lvswap
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
待兔 待兔
5个月前
手写Java HashMap源码
HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22
Jacquelyn38 Jacquelyn38
3年前
2020年前端实用代码段,为你的工作保驾护航
有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )
Wesley13 Wesley13
3年前
mysql设置时区
mysql设置时区mysql\_query("SETtime\_zone'8:00'")ordie('时区设置失败,请联系管理员!');中国在东8区所以加8方法二:selectcount(user\_id)asdevice,CONVERT\_TZ(FROM\_UNIXTIME(reg\_time),'08:00','0
Wesley13 Wesley13
3年前
00:Java简单了解
浅谈Java之概述Java是SUN(StanfordUniversityNetwork),斯坦福大学网络公司)1995年推出的一门高级编程语言。Java是一种面向Internet的编程语言。随着Java技术在web方面的不断成熟,已经成为Web应用程序的首选开发语言。Java是简单易学,完全面向对象,安全可靠,与平台无关的编程语言。
Stella981 Stella981
3年前
Django中Admin中的一些参数配置
设置在列表中显示的字段,id为django模型默认的主键list_display('id','name','sex','profession','email','qq','phone','status','create_time')设置在列表可编辑字段list_editable
Wesley13 Wesley13
3年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
Python进阶者 Python进阶者
10个月前
Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这