kafka-topics.sh脚本详解

通过脚本进行主题的管理,包括:创建主题、查看主题、修改主题、删除主题等操作。内部是靠kafka.admin.TopicCommand接收参数运行。

[xuhaixing@xhx151 ~]$ kafka-topics.sh --help
This tool helps to create, delete, describe, or change a topic.
Option                                   Description                            
------                                   -----------                            
--alter                                  Alter the number of partitions,        
                                           replica assignment, and/or           
                                           configuration for the topic.         
--at-min-isr-partitions                  if set when describing topics, only    
                                           show partitions whose isr count is   
                                           equal to the configured minimum. Not 
                                           supported with the --zookeeper       
                                           option.                              
--bootstrap-server <String: server to    REQUIRED: The Kafka server to connect  
  connect to>                              to. In case of providing this, a     
                                           direct Zookeeper connection won't be 
                                           required.                            
--command-config <String: command        Property file containing configs to be 
  config property file>                    passed to Admin Client. This is used 
                                           only with --bootstrap-server option  
                                           for describing and altering broker   
                                           configs.                             
--config <String: name=value>            A topic configuration override for the 
                                           topic being created or altered. The  
                                           following is a list of valid         
                                           configurations:                      
                                         	cleanup.policy                        
                                         	compression.type                      
                                         	delete.retention.ms                   
                                         	file.delete.delay.ms                  
                                         	flush.messages                        
                                         	flush.ms                              
                                         	follower.replication.throttled.       
                                           replicas                             
                                         	index.interval.bytes                  
                                         	leader.replication.throttled.replicas 
                                         	max.compaction.lag.ms                 
                                         	max.message.bytes                     
                                         	message.downconversion.enable         
                                         	message.format.version                
                                         	message.timestamp.difference.max.ms   
                                         	message.timestamp.type                
                                         	min.cleanable.dirty.ratio             
                                         	min.compaction.lag.ms                 
                                         	min.insync.replicas                   
                                         	preallocate                           
                                         	retention.bytes                       
                                         	retention.ms                          
                                         	segment.bytes                         
                                         	segment.index.bytes                   
                                         	segment.jitter.ms                     
                                         	segment.ms                            
                                         	unclean.leader.election.enable        
                                         See the Kafka documentation for full   
                                           details on the topic configs. It is  
                                           supported only in combination with --
                                           create if --bootstrap-server option  
                                           is used (the kafka-configs CLI       
                                           supports altering topic configs with 
                                           a --bootstrap-server option).        
--create                                 Create a new topic.                    
--delete                                 Delete a topic                         
--delete-config <String: name>           A topic configuration override to be   
                                           removed for an existing topic (see   
                                           the list of configurations under the 
                                           --config option). Not supported with 
                                           the --bootstrap-server option.       
--describe                               List details for the given topics.     
--disable-rack-aware                     Disable rack aware replica assignment  
--exclude-internal                       exclude internal topics when running   
                                           list or describe command. The        
                                           internal topics will be listed by    
                                           default                              
--force                                  Suppress console prompts               
--help                                   Print usage information.               
--if-exists                              if set when altering or deleting or    
                                           describing topics, the action will   
                                           only execute if the topic exists.    
--if-not-exists                          if set when creating topics, the       
                                           action will only execute if the      
                                           topic does not already exist.        
--list                                   List all available topics.             
--partitions <Integer: # of partitions>  The number of partitions for the topic 
                                           being created or altered (WARNING:   
                                           If partitions are increased for a    
                                           topic that has a key, the partition  
                                           logic or ordering of the messages    
                                           will be affected). If not supplied   
                                           for create, defaults to the cluster  
                                           default.                             
--replica-assignment <String:            A list of manual partition-to-broker   
  broker_id_for_part1_replica1 :           assignments for the topic being      
  broker_id_for_part1_replica2 ,           created or altered.                  
  broker_id_for_part2_replica1 :                                                
  broker_id_for_part2_replica2 , ...>                                           
--replication-factor <Integer:           The replication factor for each        
  replication factor>                      partition in the topic being         
                                           created. If not supplied, defaults   
                                           to the cluster default.              
--topic <String: topic>                  The topic to create, alter, describe   
                                           or delete. It also accepts a regular 
                                           expression, except for --create      
                                           option. Put topic name in double     
                                           quotes and use the '\' prefix to     
                                           escape regular expression symbols; e.
                                           g. "test\.topic".                    
--topics-with-overrides                  if set when describing topics, only    
                                           show topics that have overridden     
                                           configs                              
--unavailable-partitions                 if set when describing topics, only    
                                           show partitions whose leader is not  
                                           available                            
--under-min-isr-partitions               if set when describing topics, only    
                                           show partitions whose isr count is   
                                           less than the configured minimum.    
                                           Not supported with the --zookeeper   
                                           option.                              
--under-replicated-partitions            if set when describing topics, only    
                                           show under replicated partitions     
--version                                Display Kafka version.                 
--zookeeper <String: hosts>              DEPRECATED, The connection string for  
                                           the zookeeper connection in the form 
                                           host:port. Multiple hosts can be     
                                           given to allow fail-over.   

kafka-topics.sh脚本中的参数

参数名称释义
alter用于修改主题
config 键值对创建或修改主题时,用于设置主题级别的参数
create创建主题
delete删除主题
delete-config 配置名称删除主题级别被覆盖的配置
describe查看主题的详细信息
disable-rack-aware创建主题时不考虑机架信息
help打印帮助信息
if-exists修改或删除主题时使用,只有当主题存在时才会执行动作
if-not-exists创建主题时使用,只有主题不存在时才会执行动作
list列出所有可用的主题
partitons 分区数创建主题或增加分区时指定的分区数
replica-assignment 分配方案手工指定分区副本分配方案
replication-factor 副本数创建主题时指定副本因子
topic 主题名称指定主题名称
topics-with-overrides使用describe查看主题信息时,只展示包含覆盖配置的主题
unavailable-partitions使用describe查看主题信息时,只展示包含没有leader副本的分区
under-replicated-partitions使用describe查看主题信息时,只展示包含失效副本的分区
zookeeper指定连接的zk的地址,已经过时,可以改成 --bootstrap-server

1. 常用命令

查看所有topic

kafka-topics.sh --zookeeper 192.168.94.151:2181/kafka --list
kafka-topics.sh --bootstrap-server 192.168.94.151:9092  --list

创建topic

kafka-topics.sh --zookeeper 192.168.94.151:2181/kafka --create --topic test-topic --replication-factor 2 --partitions 3

kafka-topics.sh  --bootstrap-server 192.168.94.151:9092  --create --topic test-topic-2 --replication-factor 2 --partitions 3 --config retention.ms=36000000000 --config max.message.bytes=64000

查看topic配置信息

kafka-topics.sh --zookeeper 192.168.94.151:2181/kafka --describe --topic test-topic

扩大分区

kafka-topics.sh --zookeeper 192.168.94.151:2181/kafka --alter --topic test-topic --partitions 6

修改topic配置

kafka-topics.sh --bootstrap-server 192.168.94.151:9092 -topic test-topic --alter --config retention.ms=259200000

kafka topic config参数

  1. cleanup.policy

    过期或达到日志上限的清理策略(delete-删除;compact-压缩)默认值为delete

  2. compression.type

    指定给该topic最终的压缩类型(uncompressed;snappy;lz4;gzip;producer)默认值为producer

  3. delete.retention.ms

    压缩日志保留的最长时间,也是消费端消息的最长时间。单位为毫秒(默认值:86400000)

  4. file.delete.delay.ms

    从文件系统中删除前所等待的时间(默认值:60000)

  5. flush.messages

    在消息刷到磁盘前,日志分区收集的消息数(默认值:Long.MAX_VALUE)

  6. flush.ms

    消息刷到磁盘前,保存在内存中的最长时间,单位ms(默认值:Long.MAX_VALUE)

  7. index.interval.bytes

    当执行fetch操作后,需要一定的空间来扫描最近的offset大小。设置越大,扫描速度更快但更耗内存,一般情况下不用设置此参数。(默认值:4096)

  8. max.message.bytes

    log中能够容纳消息的最大字节数(默认值:1000012)

  9. min.cleanable.dirty.ratio

    日志清理的频率控制,越大清理更高效(默认值:0.5)

  10. retention.bytes

    topic每个分区的最大文件大小。(默认值:-1没有限制)

  11. retention.ms

    日志文件保留的ms。数据存储的最大时间超过这个时间会根据cleanup.policy策略处理数据。

  12. segment.bytes

    topic的文件是以segment文件存储的,该参数控制每个segment文件的大小(默认值:1073741824)

  13. segment.index.bytes

    对于segment日志的索引文件大小限制(默认值:10M)

实时内容请关注微信公众号,公众号与博客同时更新:程序员星星toC
在这里插入图片描述

  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值