kafka 常用命令

1 集群操作

1.1 启动集群

  1. 在每个设备启动Zookeeper:

    bash 复制代码
    bin/zookeeper-server-start.sh config/zookeeper.properties

    若不想显示日志信息:

    shell 复制代码
    bin/zookeeper-server-start.sh config/zookeeper.properties > /dev/null 2>&1 &
  2. 在每个设备启动Kafka服务器:

    bash 复制代码
    bin/kafka-server-start.sh config/server.properties

    若不想显示日志信息:

    shell 复制代码
    bin/kafka-server-start.sh config/server.properties > /dev/null 2>&1 &

1.2 关闭集群

  1. 在每个设备关闭Kafka服务器:

    bash 复制代码
    bin/kafka-server-stop.sh
  2. 在每个设备关闭Zookeeper:

    bash 复制代码
    bin/zookeeper-server-stop.sh

1.3 检查Kafka状态

查看Kafka服务的状态可以使用kafka-broker-api-versions.sh

bash 复制代码
bin/kafka-broker-api-versions.sh --bootstrap-server localhost:9092

1.4 重新分配分区

重新分配分区通常用于扩展Kafka集群时,将主题的分区重新分配到新的broker上。使用以下步骤进行分区重新分配:

  1. 生成重新分配方案

    bash 复制代码
    bin/kafka-reassign-partitions.sh --generate --zookeeper localhost:2181 --topics-to-move-json-file topics-to-move.json --broker-list "0,1,2"
  2. 执行重新分配

    bash 复制代码
    bin/kafka-reassign-partitions.sh --execute --zookeeper localhost:2181 --reassignment-json-file reassignment.json
  3. 查看重新分配状态

    bash 复制代码
    bin/kafka-reassign-partitions.sh --verify --zookeeper localhost:2181 --reassignment-json-file reassignment.json

1.5 查看ZooKeeper中的Kafka数据

你可以使用ZooKeeper的命令行客户端zkCli.sh来查看Kafka在ZooKeeper中的数据:

bash 复制代码
bin/zookeeper-shell.sh localhost:2181

进入ZooKeeper shell后,可以使用以下命令:

  • 查看根节点:

    shell 复制代码
    ls /
  • 查看Kafka的brokers信息:

    shell 复制代码
    ls /brokers/ids
  • 查看某个节点的数据:

    shell 复制代码
    get /brokers/ids/0

2 主题操作

2.1 相关参数

  • --topic:指定主题的名称。
  • --bootstrap-server:Kafka broker的地址。
  • --replication-factor:副本因子,即每个主题分区的副本数。
  • --partitions:分区数。

2.2 创建主题

创建主题test-topic

bash 复制代码
bin/kafka-topics.sh --create --topic test-topic --bootstrap-server localhost:9092 --replication-factor 3 --partitions 2

2.3 查看主题

列出所有主题:

bash 复制代码
bin/kafka-topics.sh --list --bootstrap-server localhost:9092

描述主题test-topic的详细信息:

bash 复制代码
bin/kafka-topics.sh --describe --topic test-topic --bootstrap-server localhost:9092

2.4 删除主题

删除主题test-topic

bash 复制代码
bin/kafka-topics.sh --delete --topic test-topic --bootstrap-server localhost:9092

2.5 修改主题

修改主题test-topic

shell 复制代码
bin/kafka-topics.sh --alter --topic test-topic --bootstrap-server your-kafka-bootstrap-server:9092 --config max.message.bytes=10485760

3 生产与消费

3.1 生产消息

使用kafka-console-producer.sh发送消息到Kafka主题:

bash 复制代码
bin/kafka-console-producer.sh --topic test-topic --bootstrap-server localhost:9092

启动后可以输入消息并按回车发送。

3.2 消费消息

使用kafka-console-consumer.sh从Kafka主题消费消息:

bash 复制代码
bin/kafka-console-consumer.sh --topic test-topic --from-beginning --bootstrap-server localhost:9092

参数说明:

  • --from-beginning:表示从主题的开始位置消费消息。
相关推荐
江屿风1 小时前
【认识深度学习】【深度学习分类与计算机视觉任务要点解析】流食般投喂
大数据·人工智能·深度学习·计算机视觉·目标跟踪·自然语言处理·语音识别
Nano叶落1 小时前
Kafka 消费积压排查入门:Docker 搭环境亲手制造一次 ‘消息堵死‘,10 分钟看懂 Lag
kafka
建筑工程企业管理系统1 小时前
工程建设管理信息系统如何选型?多项目协同管控避坑指南
大数据·软件工程·软件需求
灰山君1 小时前
企业三维可视化怎么选?山海鲸可视化与老子云3D优势对比
大数据·经验分享·数字孪生·可视化·数据可视化·实时大数据
Elastic 中国社区官方博客1 小时前
jina-ocr-v1:在低成本 GPU 上实现更快速的文档解析
大数据·数据库·elasticsearch·搜索引擎·全文检索·jina
Databend2 小时前
Jev 爆火之后,我们把它集成进了数据湖仓
大数据·数据库·agent
拾光师2 小时前
MapReduce Shuffle 深度解析:数据从 Map 到 Reduce 的完整旅程
大数据
小小程序猴12 小时前
中小企业AI转型课程模块的工程化设计:从能力矩阵到课程编排
大数据·人工智能
Aloudata2 小时前
语义层和SQL Copilot:一个降低写SQL门槛,一个统一业务逻辑
大数据·人工智能·数据分析·data agent·语义层
IT研究室3 小时前
最新大数据毕业设计选题推荐-基于大数据的信用等级数据分析与可视化-大数据-Spark-Hadoop-Bigdata
大数据·信息可视化·数据分析·spark·课程设计