尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
Kafka 命令行操作
本文面向 Kafka 初学者帮助大家从零上手 Kafka 的 Topic 操作。阅读本文前请先准备好一个三节点 Kafka 集群节点分别为 backup01、backup02、backup03Kafka 版本为 2.4.1。文章将围绕三大主题展开Topic 的创建、查看、删除与修改等基础操作分区与副本的分配原理以及消息的发送与消费。通过本文的实战演示你将能够独立完成 Kafka 集群上的日常运维操作并对分区、副本、消费者等核心概念建立直观认识。一、Topic 基础操作1查看当前服务器中的所有 topicbin/kafka-topics.sh --zookeeper backup01:2181使用命令 bin/kafka-topics.sh --list 报异常提示必须依赖zookeeper 前面我们就讲过kafka是依赖于zookeeper连上zookeeper什么都没有输出因为我们什么消息也没有我们需要创建topicbin/kafka-topics.sh --list --zookeeper backup01:21812创建 topicbin/kafka-topics.sh --zookeeper backup01:2181 --create --replication-factor 3 --partitions 1 -topic first 选项说明 --topic 定义 topic 名 --replication-factor 定义副本数 --partitions 定义分区数再次查看二、日志分析与分区副本验证日志分析backup01buckup02buckup03我们看见之前建立和配置好的logs目录下面生成很多文件 其中有个first-1这个就是我们创建的主题但是这个主题是主题名字和分区名字联合命名。还有一个最重要的是就是我们后台启动看不见kafka的启动日志在这个server.log下面我们可以查询启动相关信息3删除 topicbin/kafka-topics.sh --zookeeper backup01:2181 --delete --topic first #需要 server.properties 中设置 delete.topic.enabletrue 否则只是标记删除那我们就设置一下我们删除了之后重新建立一个first主题 一个分区一个副本buckup01buckup02buckup03我们发现一个分区一个副本就一个first-0现在大家应该明白了什么是分区和副本4查看某个 Topic 的详情bin/kafka-topics.sh --zookeeper buckup01:2181 --describe --topic first上面只有一个分区一个副本下面我们创建一个secend主题3个分区3个副本查看下主题的详情分区0有3个副本分区1也有3个副本分区2也有3个副本我们在创建一个主题three 2个分区2个副本主题three 分区1的其中1个副本在buckup01机器上主题three 分区0的其中1个副本被分配在buckup02机器上主题three 分区0和分区1的另一个副本都在buckup03机器上讲了这么多估计没有不懂分区和副本了吧三、消息发送与消费注意有一点副本数不能超过集群的机器数量5发送消息 向主题first发送消息buckup01开启一个生产者bin/kafka-console-producer.sh --brokerlist buckup01:9092 --topic first hello world atguigu atguigu6消费消息 backup03开启一个消费者bin/kafka-console-consumer.sh \ --zookeeper buckup03:2181 --topic first总是报一个错误zookeeper is not a recognized option在新版本--zookeeper是一个过时的方法此时才知道原来在最新的版本中这种启动方式已经被删除了最后附上0.90版本之后启动消费者的方法bin/kafka-console-consumer.sh --bootstrap-server backup03:9092 --topic first在backup02在开启一个消费者此时backup02这个机器是在发消息时候不在线默认只能从最大开始想要从头消费需要使用--from-beginning参数bin/kafka-console-consumer.sh --bootstrap-server backup02:9092 --topic first --from-beginning我们在看下logs下目录 主题__consumer_offsets 后面数字是分区 消费者默认50个分区[rootbackup02 kafka_2.12-2.4.1]# cd logs/ [rootbackup02 logs]# ll total 476 -rw-r--r--. 1 root root 4 Mar 29 16:31 cleaner-offset-checkpoint drwxr-xr-x. 2 root root 141 Mar 29 17:34 __consumer_offsets-0 drwxr-xr-x. 2 root root 141 Mar 29 17:34 __consumer_offsets-12 drwxr-xr-x. 2 root root 141 Mar 29 17:34 __consumer_offsets-15 drwxr-xr-x. 2 root root 141 Mar 29 17:34 __consumer_offsets-18 drwxr-xr-x. 2 root root 141 Mar 29 17:34 __consumer_offsets-21 drwxr-xr-x. 2 root root 141 Mar 29 17:34 __consumer_offsets-24 drwxr-xr-x. 2 root root 141 Mar 29 17:34 __consumer_offsets-27 drwxr-xr-x. 2 root root 141 Mar 29 17:34 __consumer_offsets-3 drwxr-xr-x. 2 root root 141 Mar 29 17:34 __consumer_offsets-30 drwxr-xr-x. 2 root root 141 Mar 29 17:34 __consumer_offsets-33 drwxr-xr-x. 2 root root 141 Mar 29 17:34 __consumer_offsets-36 drwxr-xr-x. 2 root root 141 Mar 29 17:34 __consumer_offsets-39 drwxr-xr-x. 2 root root 141 Mar 29 17:34 __consumer_offsets-42 drwxr-xr-x. 2 root root 141 Mar 29 17:34 __consumer_offsets-45 drwxr-xr-x. 2 root root 141 Mar 29 17:34 __consumer_offsets-48 drwxr-xr-x. 2 root root 141 Mar 29 17:34 __consumer_offsets-6 drwxr-xr-x. 2 root root 141 Mar 29 17:34 __consumer_offsets-9 -rw-r--r--. 1 root root 11302 Mar 29 15:56 controller.log -rw-r--r--. 1 root root 7243 Mar 29 13:56 controller.log.2020-03-29-13 -rw-r--r--. 1 root root 3499 Mar 29 14:02 controller.log.2020-03-29-14 -rw-r--r--. 1 root root 0 Mar 29 13:46 kafka-authorizer.log -rw-r--r--. 1 root root 0 Mar 29 13:46 kafka-request.log -rw-r--r--. 1 root root 17309 Mar 29 17:37 kafkaServer-gc.log.0.current -rw-r--r--. 1 root root 102388 Mar 29 17:36 kafkaServer.out -rw-r--r--. 1 root root 1055 Mar 29 16:31 log-cleaner.log -rw-r--r--. 1 root root 172 Mar 29 13:47 log-cleaner.log.2020-03-29-13 -rw-r--r--. 1 root root 550 Mar 29 14:02 log-cleaner.log.2020-03-29-14 -rw-r--r--. 1 root root 550 Mar 29 15:56 log-cleaner.log.2020-03-29-15 -rw-r--r--. 1 root root 4 Mar 29 17:38 log-start-offset-checkpoint -rw-r--r--. 1 root root 88 Mar 29 15:56 meta.properties -rw-r--r--. 1 root root 452 Mar 29 17:38 recovery-point-offset-checkpoint -rw-r--r--. 1 root root 452 Mar 29 17:39 replication-offset-checkpoint drwxr-xr-x. 2 root root 141 Mar 29 16:42 secend-0 drwxr-xr-x. 2 root root 141 Mar 29 16:42 secend-1 drwxr-xr-x. 2 root root 141 Mar 29 16:42 secend-2 -rw-r--r--. 1 root root 41838 Mar 29 17:36 server.log -rw-r--r--. 1 root root 31088 Mar 29 13:57 server.log.2020-03-29-13 -rw-r--r--. 1 root root 40824 Mar 29 14:52 server.log.2020-03-29-14 -rw-r--r--. 1 root root 53272 Mar 29 15:56 server.log.2020-03-29-15 -rw-r--r--. 1 root root 27236 Mar 29 16:56 server.log.2020-03-29-16 -rw-r--r--. 1 root root 36852 Mar 29 17:34 state-change.log -rw-r--r--. 1 root root 1145 Mar 29 13:51 state-change.log.2020-03-29-13 -rw-r--r--. 1 root root 36058 Mar 29 15:56 state-change.log.2020-03-29-15 -rw-r--r--. 1 root root 16465 Mar 29 16:48 state-change.log.2020-03-29-16 drwxr-xr-x. 2 root root 141 Mar 29 16:48 three-0 [rootbackup02 logs]#其他消费者分区[rootbackup03 kafka_2.12-2.4.1]# cd logs/ [rootbackup03 logs]# ll total 464 -rw-r--r--. 1 root root 4 Mar 29 16:31 cleaner-offset-checkpoint drwxr-xr-x. 2 root root 141 Mar 29 17:34 __consumer_offsets-1 drwxr-xr-x. 2 root root 141 Mar 29 17:34 __consumer_offsets-10 drwxr-xr-x. 2 root root 141 Mar 29 17:34 __consumer_offsets-13 drwxr-xr-x. 2 root root 141 Mar 29 17:34 __consumer_offsets-16 drwxr-xr-x. 2 root root 141 Mar 29 17:34 __consumer_offsets-19 drwxr-xr-x. 2 root root 141 Mar 29 17:34 __consumer_offsets-22 drwxr-xr-x. 2 root root 141 Mar 29 17:34 __consumer_offsets-25 drwxr-xr-x. 2 root root 141 Mar 29 17:34 __consumer_offsets-28 drwxr-xr-x. 2 root root 141 Mar 29 17:34 __consumer_offsets-31 drwxr-xr-x. 2 root root 141 Mar 29 17:34 __consumer_offsets-34 drwxr-xr-x. 2 root root 141 Mar 29 17:34 __consumer_offsets-37 drwxr-xr-x. 2 root root 141 Mar 29 17:34 __consumer_offsets-4 drwxr-xr-x. 2 root root 141 Mar 29 17:34 __consumer_offsets-40 drwxr-xr-x. 2 root root 141 Mar 29 17:34 __consumer_offsets-43 drwxr-xr-x. 2 root root 141 Mar 29 17:34 __consumer_offsets-46 drwxr-xr-x. 2 root root 141 Mar 29 17:34 __consumer_offsets-49 drwxr-xr-x. 2 root root 141 Mar 29 17:34 __consumer_offsets-7 -rw-r--r--. 1 root root 9685 Mar 29 15:56 controller.log -rw-r--r--. 1 root root 578 Mar 29 13:51 controller.log.2020-03-29-13 -rw-r--r--. 1 root root 9382 Mar 29 14:03 controller.log.2020-03-29-14 -rw-r--r--. 1 root root 0 Mar 29 13:47 kafka-authorizer.log -rw-r--r--. 1 root root 0 Mar 29 13:47 kafka-request.log -rw-r--r--. 1 root root 17325 Mar 29 17:38 kafkaServer-gc.log.0.current -rw-r--r--. 1 root root 100447 Mar 29 17:36 kafkaServer.out -rw-r--r--. 1 root root 844 Mar 29 16:31 log-cleaner.log -rw-r--r--. 1 root root 172 Mar 29 13:47 log-cleaner.log.2020-03-29-13 -rw-r--r--. 1 root root 550 Mar 29 14:03 log-cleaner.log.2020-03-29-14 -rw-r--r--. 1 root root 550 Mar 29 15:56 log-cleaner.log.2020-03-29-15 -rw-r--r--. 1 root root 4 Mar 29 17:43 log-start-offset-checkpoint -rw-r--r--. 1 root root 88 Mar 29 15:56 meta.properties -rw-r--r--. 1 root root 463 Mar 29 17:43 recovery-point-offset-checkpoint -rw-r--r--. 1 root root 463 Mar 29 17:43 replication-offset-checkpoint drwxr-xr-x. 2 root root 141 Mar 29 16:42 secend-0 drwxr-xr-x. 2 root root 141 Mar 29 16:42 secend-1 drwxr-xr-x. 2 root root 141 Mar 29 16:42 secend-2 -rw-r--r--. 1 root root 41154 Mar 29 17:36 server.log -rw-r--r--. 1 root root 31088 Mar 29 13:57 server.log.2020-03-29-13 -rw-r--r--. 1 root root 40823 Mar 29 14:53 server.log.2020-03-29-14 -rw-r--r--. 1 root root 45717 Mar 29 15:56 server.log.2020-03-29-15 -rw-r--r--. 1 root root 27398 Mar 29 16:56 server.log.2020-03-29-16 -rw-r--r--. 1 root root 36856 Mar 29 17:34 state-change.log -rw-r--r--. 1 root root 0 Mar 29 13:47 state-change.log.2020-03-29-13 -rw-r--r--. 1 root root 1145 Mar 29 14:02 state-change.log.2020-03-29-14 -rw-r--r--. 1 root root 25329 Mar 29 15:56 state-change.log.2020-03-29-15 -rw-r--r--. 1 root root 17415 Mar 29 16:48 state-change.log.2020-03-29-16 drwxr-xr-x. 2 root root 141 Mar 29 16:48 three-0 drwxr-xr-x. 2 root root 141 Mar 29 16:48 three-1 [rootbackup03 logs]#[rootbackup01 kafka_2.12-2.4.1]# cd logs/ [rootbackup01 logs]# ll total 696 -rw-r--r--. 1 root root 4 Mar 29 16:31 cleaner-offset-checkpoint drwxr-xr-x. 2 root root 141 Mar 29 17:34 __consumer_offsets-11 drwxr-xr-x. 2 root root 141 Mar 29 17:34 __consumer_offsets-14 drwxr-xr-x. 2 root root 141 Mar 29 17:34 __consumer_offsets-17 drwxr-xr-x. 2 root root 141 Mar 29 17:34 __consumer_offsets-2 drwxr-xr-x. 2 root root 141 Mar 29 17:34 __consumer_offsets-20 drwxr-xr-x. 2 root root 141 Mar 29 17:34 __consumer_offsets-23 drwxr-xr-x. 2 root root 141 Mar 29 17:34 __consumer_offsets-26 drwxr-xr-x. 2 root root 141 Mar 29 17:34 __consumer_offsets-29 drwxr-xr-x. 2 root root 141 Mar 29 17:34 __consumer_offsets-32 drwxr-xr-x. 2 root root 141 Mar 29 17:34 __consumer_offsets-35 drwxr-xr-x. 2 root root 141 Mar 29 17:34 __consumer_offsets-38 drwxr-xr-x. 2 root root 141 Mar 29 17:34 __consumer_offsets-41 drwxr-xr-x. 2 root root 141 Mar 29 17:34 __consumer_offsets-44 drwxr-xr-x. 2 root root 141 Mar 29 17:34 __consumer_offsets-47 drwxr-xr-x. 2 root root 141 Mar 29 17:34 __consumer_offsets-5 drwxr-xr-x. 2 root root 141 Mar 29 17:34 __consumer_offsets-8 -rw-r--r--. 1 root root 22485 Mar 29 17:40 controller.log -rw-r--r--. 1 root root 10857 Mar 29 13:51 controller.log.2020-03-29-13 -rw-r--r--. 1 root root 11117 Mar 29 14:58 controller.log.2020-03-29-14 -rw-r--r--. 1 root root 21665 Mar 29 15:56 controller.log.2020-03-29-15 -rw-r--r--. 1 root root 29350 Mar 29 16:55 controller.log.2020-03-29-16 drwxr-xr-x. 2 root root 141 Mar 29 16:32 first-0 -rw-r--r--. 1 root root 0 Mar 29 13:40 kafka-authorizer.log -rw-r--r--. 1 root root 0 Mar 29 13:40 kafka-request.log -rw-r--r--. 1 root root 18331 Mar 29 17:42 kafkaServer-gc.log.0.current -rw-r--r--. 1 root root 104496 Mar 29 17:35 kafkaServer.out -rw-r--r--. 1 root root 844 Mar 29 16:31 log-cleaner.log -rw-r--r--. 1 root root 722 Mar 29 13:51 log-cleaner.log.2020-03-29-13 -rw-r--r--. 1 root root 550 Mar 29 15:55 log-cleaner.log.2020-03-29-15 -rw-r--r--. 1 root root 4 Mar 29 17:44 log-start-offset-checkpoint -rw-r--r--. 1 root root 88 Mar 29 15:55 meta.properties -rw-r--r--. 1 root root 439 Mar 29 17:44 recovery-point-offset-checkpoint -rw-r--r--. 1 root root 439 Mar 29 17:44 replication-offset-checkpoint drwxr-xr-x. 2 root root 141 Mar 29 16:42 secend-0 drwxr-xr-x. 2 root root 141 Mar 29 16:42 secend-1 drwxr-xr-x. 2 root root 141 Mar 29 16:42 secend-2 -rw-r--r--. 1 root root 40958 Mar 29 17:35 server.log -rw-r--r--. 1 root root 71236 Mar 29 13:51 server.log.2020-03-29-13 -rw-r--r--. 1 root root 942 Mar 29 14:51 server.log.2020-03-29-14 -rw-r--r--. 1 root root 47315 Mar 29 15:56 server.log.2020-03-29-15 -rw-r--r--. 1 root root 31355 Mar 29 16:55 server.log.2020-03-29-16 -rw-r--r--. 1 root root 116986 Mar 29 17:34 state-change.log -rw-r--r--. 1 root root 1374 Mar 29 13:47 state-change.log.2020-03-29-13 -rw-r--r--. 1 root root 1145 Mar 29 14:03 state-change.log.2020-03-29-14 -rw-r--r--. 1 root root 42656 Mar 29 15:56 state-change.log.2020-03-29-15 -rw-r--r--. 1 root root 72145 Mar 29 16:48 state-change.log.2020-03-29-16 drwxr-xr-x. 2 root root 141 Mar 29 16:48 three-1我们可以分析出 集群消费者分区几乎都是轮询的消费说明分区就是一个负载均衡的作用这个数据默认保存168小时 保留7天 7天自动清理四、Topic 分区数修改7修改分区数bin/kafka-topics.sh --zookeeper backup01:2181 --alter --topic first --partitions 6五、总结本文围绕 Kafka 2.4.1 三节点集群backup01、backup02、backup03的实战操作系统梳理了 Topic 管理、分区副本机制与消息收发流程。核心要点如下Topic 增删查改命令通过bin/kafka-topics.sh配合--create、--list、--describe、--delete、--alter等参数即可完成 Topic 的创建、查看、删除与分区数修改删除 Topic 前需在server.properties中设置delete.topic.enabletrue否则只会标记删除。分区与副本的分配机制Topic 由多个分区组成每个分区可配置多个副本副本会尽量分散到不同节点以实现高可用和负载均衡副本数不能超过集群的机器数量否则创建会失败。消费者 offset 存储与 __consumer_offsets 主题消费者消费进度offset会持久化到名为__consumer_offsets的内部主题中该主题默认有 50 个分区数据默认保留 168 小时7 天后自动清理。新旧版本命令差异Kafka 0.90 版本之后消费者命令不再支持--zookeeper参数需改用--bootstrap-server生产者命令也建议使用--bootstrap-server替代旧的--brokerlist。常见报错排查建议若执行消费者命令报zookeeper is not a recognized option说明当前 Kafka 版本已移除--zookeeper选项请改用bin/kafka-console-consumer.sh --bootstrap-server backup03:9092 --topic first若想从头消费历史消息需追加--from-beginning参数。
RELATED

相关推荐

经典战棋游戏《三国志孔明传》官方攻略与Win10/11适配指南

经典战棋游戏《三国志孔明传》官方攻略与Win10/11适配指南

如果你是一位80后或90初的玩家,看到“三国志孔明传”这个名字,脑海里浮现的恐怕不只是游戏画面,还有那段在电脑前或游戏机上度过的、充满策略与情怀的时光。这款由光荣特库摩(KOEI)在1996年推出的经典战棋游戏&#xf…

📅 2026/10/20 12:25:24
大数据技术之 Kafka (第 3 章 Kafka 架构深入 ) Log存储解析

大数据技术之 Kafka (第 3 章 Kafka 架构深入 ) Log存储解析

Kafka 工作流程 Kafka 中消息是以 topic 进行分类的,生产者生产消息,消费者消费消息,都是面向 topic的。 topic 是逻辑上的概念,而 partition 是物理上的概念,每个 partition 对应于一个 log 文件,该 log 文…

📅 2026/9/21 14:07:43
Java中Socket编程1 TCP|UDP通信

Java中Socket编程1 TCP|UDP通信

通信数据源有哪些: 文件、byteArrayOutputStream、socke管道、控制台 1. 基础概念: 1. 地址:Ip地址 2. 端口: 计算机中区分不同进程 同一个协议下,端口不能重复使用,不同协议可以 1024以下端口预留给系统的 比…

📅 2026/9/21 14:18:08
MORE NEWS

更多资讯

📰

impeccable:基于CLI+浏览器扩展的高危操作可信校验工具

1. 项目概述:从一个词出发,构建可落地的开发者工具链“impeccable”这个词本身是英文形容词,意为“无可挑剔的、完美的、一丝不苟的”,常用于描述工艺、服务或执行标准。但当它作为项目标题出现在当前技术语境下——尤其与npx、CL…

📰

Agent-Reach:为LLM Agent绘制行为空间可达性地图

做Agent开发做得越久,越发现一个尴尬的事实:大家都很会写Agent,但很少有人说清楚自己手上这个Agent到底“能到哪”。这里的“能到哪”不是指它能回答多少问题,而是它在一个真实任务里能走多远、会触发哪些行为、在什么条件下彻底卡…

📰

OpenShell:跨平台终端会话编排与环境统一管理方案

1. 项目概述:OpenShell 不是 Shell,而是一套跨平台终端体验重构方案“OpenShell”这个词在当前技术社区里正经历一场微妙的语义漂移。它既不是 Linux 社区里某个新出的 shell 解释器(比如 zsh、fish 或 elvish 的分支)&#xff0c…

📰

Agent-Reach:面向生产环境的智能体统一网关与CLI/API双模态调度工具

1. 项目概述:Agent-Reach 是什么,它解决的是哪类真实问题?Agent-Reach 不是一个抽象概念或营销话术,而是一个真实存在的、面向开发者与技术型用户的命令行工具(CLI),它的核心定位非常清晰&#…

📰

人工智能三次热潮:从图灵测试到深度学习的演进之路

简介:这是一份系统梳理人工智能发展历史的Word文档,适合AI初学者、高校学生及相关从业者快速建立AI认知框架。文档从1950年图灵测试讲起,给出测试方法与30%误判标准,介绍达特茅斯会议这一重要里程碑,将六十余年发展历程…

📰

碳交易机制下的综合能源优化调度:Matlab+YALMIP建模指南

简介:一套面向能源系统研究者与工程师的Matlab完整源码包,聚焦碳交易机制与需求响应对综合能源优化调度的影响,解决碳排放约束下如何兼顾运行经济性与低碳性的问题。压缩包共9个文件,包含8个.m脚本与1个Excel数据表,整…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬