码迷,mamicode.com
首页 > 其他好文 > 详细

主题管理

时间:2019-06-26 20:45:54      阅读:152      评论:0      收藏:0      [点我收藏+]

标签:处理   数列   keep   分区   err   bootstra   没有   trap   serve   

1、创建主题

  kafka提供了两种方式创建主题

    1):若代理设置了 auto.create.topics.enable=true,该配置默认值是true,当生产者向一个还未创建的主题发送一个消息,会自动创建一个拥有 ${num.partitions} 个分区和 ${default.replication.factor} 个副本的主题。

    2):客户端通过执行 kafka-topics.sh 脚本创建一个主题。

      创建一个名称为"kafka-action"、拥有2个副本和3个分区的主题:kafka-topics.sh --create --bootstrap-server localhost:9092 --replication-factory 2 --partitions 3 --topic kafka-action

      --bootstrap-server 参数是指kafka的broker的地址;

      --replication-factory 参数是指副本数,副本会被分布在不同的节点上,副本的数量不能超过节点数;

      --partitions 参数是指主题的分区数,kafka通过分区策略,将一个主题的消息分散到多个分区并分别保存到不同的代理上,以此来提高消息处理的吞吐量。

      创建主题的时候可以通过config参数来设置主题级别的配置以覆盖默认配置,可以设置多组配置,如:--config config-name1=value1 --config config-name2=value2

 

2、删除主题

  删除 kafka 主题,一般有两种方式:

    1):手动删除各节点 ${log.dir} 目录下该主题分区文件夹,同时登陆zookeeper客户端删除待删除主题对应的节点,主题元数据保存在 /brokers/topics 和 /config/topics 目录下;

    2):执行 kafka-topics..sh 脚本进行删除,若希望通过该脚本触底删除主题,需要保证在启动kafka服务时加载的server.properties文件中配置的 delete.topic.enable=true,默认值是false;否则执行该脚本并未真正删除主题,只是在 zookeeper的 /admin/delete_topics 目录下创建了一个与待删除主题同名的节点,将该主题标记为删除状态。

      kafka-topics --delete --bootstrap-server localhost:9092 --topic kafka-action

 

3、查看主题

  kafka 提供了 list 和 describe 两个命令查看主题信息,其中 list 参数列出 kafka 所有的主题名,describe 参数可以查看所有主题或某个特定主题的信息;

  查看所有主题:kafka-topics.sh --list --bootstrap-server localhost:9092

  查看某个特定主题: kafka-topics.sh --describe --bootstrap-server localhost:9092 或者 kafka-topics.sh --describe --bootstrap-server localhost:9092 --topic kafka-action

  查看正在同步的主题:

    处于 under replicatied 状态的主题可能正在进行同步操作,也有可能同步发生了异常,即此时查询到的主题分区的ISR列表长度小于AR列表长度。

    命令: kafka-topics.sh --describe --bootstrap-server localhost:9092 --under-replicated-partitions

  查询没有Leader的分区;

    命令: kafka-topics.sh --describe --bootstrap-server localhost:9092 --unavailable-partitions

    通过指定 topic 参数,可以查询特定主题的哪些分区的Leader不可用了。

  查看主题覆盖了哪些默认配置:

    命令: kafka-topics.sh --describe --bootstrap-server localhost:9092 --topics-with-overrides

    查看某个特定主题覆盖了哪些默认配置:kafka-topics.sh --describe --bootstrap-server localhost:9092 --topics-with-overrides --topic kafka-action

  

主题管理

标签:处理   数列   keep   分区   err   bootstra   没有   trap   serve   

原文地址:https://www.cnblogs.com/super-jing/p/11091205.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!