Kafka作为消息队列可以启动相关的进程作为生产者生产消息存在Kafka当中也可以启动相关的进程作为消费者从指定的主题中进行消息的消费。所有关于主题的操作都会使用到kafka-topics.sh这个脚本。可以使用alter来修改一个主题修改分区的数量副本的数量配置等等这样的信息。查询topic列表[appsTLKYVMkafka]$ bin/kafka-topics.sh --bootstrap-server localhost:9092 --list test-topic创建topicbin/kafka-topics.sh --create --topic test-topic --bootstrap-server localhost:9092 --partitions 3 --replication-factor 3--partitions 3 这个是Kafka主题的分区可以把一个主题分为多个部分这个就是分区如果为3表示要将topic设置为3个部分。消息存在Kafka的主题当中是存在某个分区当中有了分区在进行主题消费的时候就可以提高消费的并行度。--replication-factor 3 副本因子可以指定分区的副本数量比如设置为3那么就代表需要有3个副本。那么就是创建了主题有3个分区每个分区都去做三个副本当然这三个副本可能不在同一个节点上这个也是考虑到数据安全性的保障。到时候某个节点宕机了这样才能从其他副本当中再找到这些消息。需要注意的是副本因子的数量不能超过Kafka节点的数量也就是broker的数量。zk上面会记录Kafka的元数据信息包括主题的信息。在进行主题的创建删除会同步更新zk上所记录的元数据信息。ls / [admin, brokers, cluster, config, consumers, controller, controller_epoch, feature, isr_change_notification, latest_producer_id_block, log_dir_event_notification, zookeeper] ls /brokers [ids, seqid, topics] ls /brokers/topics [test-topic] get /brokers/topics/test-topic {removing_replicas:{},partitions:{0:[0]},topic_id:lzHkiGRVROCd6VU0OavJzQ,adding_replicas:{},version:3}主题中所有的消息会在本地保存一份在本地保存在什么位置这个配置在server.properties里面有一个属性log.dirs/apps/logs/kafka-logs这个地址就是Kafka消息保存的路径。设置了3个分区可以看到是test-0 1 2。如果设置了副本因子是3那么意味着可能还有2个副本。登入到另外两台上面可以看到每个节点上分区都存有一份。那么就在broker0-2上面都存在一份那就是3份这就是所谓的副本因子。创建主题之后会在zk和本地的目录上都会创建出对应的目录。
Kafka的操作 Kafka的主题操作
发布时间:2026/7/10 3:14:49
Kafka作为消息队列可以启动相关的进程作为生产者生产消息存在Kafka当中也可以启动相关的进程作为消费者从指定的主题中进行消息的消费。所有关于主题的操作都会使用到kafka-topics.sh这个脚本。可以使用alter来修改一个主题修改分区的数量副本的数量配置等等这样的信息。查询topic列表[appsTLKYVMkafka]$ bin/kafka-topics.sh --bootstrap-server localhost:9092 --list test-topic创建topicbin/kafka-topics.sh --create --topic test-topic --bootstrap-server localhost:9092 --partitions 3 --replication-factor 3--partitions 3 这个是Kafka主题的分区可以把一个主题分为多个部分这个就是分区如果为3表示要将topic设置为3个部分。消息存在Kafka的主题当中是存在某个分区当中有了分区在进行主题消费的时候就可以提高消费的并行度。--replication-factor 3 副本因子可以指定分区的副本数量比如设置为3那么就代表需要有3个副本。那么就是创建了主题有3个分区每个分区都去做三个副本当然这三个副本可能不在同一个节点上这个也是考虑到数据安全性的保障。到时候某个节点宕机了这样才能从其他副本当中再找到这些消息。需要注意的是副本因子的数量不能超过Kafka节点的数量也就是broker的数量。zk上面会记录Kafka的元数据信息包括主题的信息。在进行主题的创建删除会同步更新zk上所记录的元数据信息。ls / [admin, brokers, cluster, config, consumers, controller, controller_epoch, feature, isr_change_notification, latest_producer_id_block, log_dir_event_notification, zookeeper] ls /brokers [ids, seqid, topics] ls /brokers/topics [test-topic] get /brokers/topics/test-topic {removing_replicas:{},partitions:{0:[0]},topic_id:lzHkiGRVROCd6VU0OavJzQ,adding_replicas:{},version:3}主题中所有的消息会在本地保存一份在本地保存在什么位置这个配置在server.properties里面有一个属性log.dirs/apps/logs/kafka-logs这个地址就是Kafka消息保存的路径。设置了3个分区可以看到是test-0 1 2。如果设置了副本因子是3那么意味着可能还有2个副本。登入到另外两台上面可以看到每个节点上分区都存有一份。那么就在broker0-2上面都存在一份那就是3份这就是所谓的副本因子。创建主题之后会在zk和本地的目录上都会创建出对应的目录。