kafka中关于主题的命令

01 创建

创建主题------单机时副本要为1,因为多个副本不能在一台服务器上,replication factor是副本因为,是每个分区总副本数
kafka-topics.sh --zookeeper localhost:2181/myKafka --create --topic topicName --partitions 3 --replication-factor 1

创建修改默认配置的主题
kafka-topics.sh --zookeeper localhost:2181/myKafka --create --topic topicName --partitions 3 --replication-factor 1 --config max.message.bytes=1048576 --config segment.bytes=10485760


02 查询

显示所有主题
kafka-topics.sh --zookeeper localhost:2181/myKafka --list

查看指定主体详细信息
kafka-topics.sh --zookeeper localhost:2181/myKafka --describe --topic topicName
Topic: topicName4 Partition: 0 Leader: 0 Replicas: 0 Isr: 0
Topic: topicName4 Partition: 1 Leader: 0 Replicas: 0 Isr: 0
Topic: topicName4 Partition: 2 Leader: 0 Replicas: 0 Isr: 0

如果有多个分区,每一行为一个分区,第一列是主题名字,第二列是分区编号,第三列是Leader副本在哪个broker.第四列是副本在那个broker上,第五列是Isr在哪个broker上

查看覆盖了默认设置的主题并显示覆盖的配置
kafka-topics.sh --zookeeper localhost:2181/myKafka --topics-with-overrides --describe


03 修改主题

增加配置
kafka-topics.sh --zookeeper localhost:2181/myKafka --alter --topic topic_test_01 --config max.message.bytes=1048576

删除配置
kafka-topics.sh --zookeeper localhost:2181/myKafka --alter --delete-config max.message.bytes --topic topic_test_01

增加分区—分区数不能减少,因为有数据转移等复杂内容
kafka-topics.sh --zookeeper localhost/myKafka --alter --topic topicName --partitions 4


04 删除

删除指定主体
kafka-topics.sh --zookeeper localhost:2181/myKafka --delete --topic topicName

只能删除没有消息的主题???

创建主题后去日志文件查看有信息再进去就是存消息的文件
创建主题后在节点下存放主题的信息 ls /myKafka/config/topics

创建带有配置信息的,然后查看配置信息,创建带有压缩的


主题配置参数
kafka-topics.sh --config xx=xx --config yy=yy

cleanup.policy
可取值”delete“活”compact“; 旧日志部分的处理方式;默认方式(“delete”),将会丢弃旧的部分当他们的回收时间或者尺寸限制到达时。”compact“将会进行压缩。服务器默认属性log.cleanup.policy
retention.bytes
若cleanup.policy是delete,配置日志到达的最大尺寸才能删除。默认值mone,没有尺寸限制只有时间限制
服务器默认属性log.retention.bytes
retention.ms
若cleanup.policy是delete,配置日志保存最长时间就要删除。默认值7 days
服务器默认属性log.retention.minutes
compression.type
磁盘上持久化数据的压缩,producer用于压缩数据的压缩类型。可选值有none(默认值无压缩)、gzip、snappy、lz4,produce使用(使用生产者的压缩格式)。压缩最好用于批量处理,批量处理消息越多,压缩性能越好。
max.message.bytes
主题接收消息的最大字节数,追加消息的最大字节数。若增大这个字节数,也必须增大consumer的fetch字节数,这样consumer才能fetch到这些最大字节数的消息。默认值1000000
服务器默认属性max.message.bytes

min.cleanable.dirty.ratio
控制log压缩器试图进行清除日志的频率。默认情况下,将避免清除压缩率超过50%的日志。这个比率避免了最大的空间浪费
默认值0.5 服务器默认属性min.cleanable.dirty.ratio
min.insync.replicas
当producer设置request.required.acks为-1时,min.insync.replicas指定replicas的最小数目(必须确认每一个repica的写数据都是成功的),只要到达这个数目,就ack成功,如果这个数目没有达到,producer会产生异常。
服务器默认属性min.insync.replicas

segment.bytes
log日志是分块存储的,此配置是指log日志划分成块的大小。默认值1G,服务器默认属性log.segment.bytes

segment.index.bytes
有关offsets和文件位置之间映射的索引文件的大小;一般不需要修改这个配置,默认值10M
服务器默认属性log.index.size.max.bytes

segment.jitter.ms
和日志滚动相关的,服务器默认属性log.roll.jitter.{ms,hours}

segment.ms
log分块文件没有达到需要删除、压缩的大小,一旦log的时间达到这个上限,就会强制新建一个log分块文件,默认是7days
服务器默认属性log.roll.hours
unclean.leader.election.enable
是否能够使不在ISR中replicas设置用来作为leader,默认值true

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值