当前位置: 首页 > news >正文

kafka 常用命令

1 集群操作

1.1 启动集群

  1. 在每个设备启动Zookeeper:
    bin/zookeeper-server-start.sh config/zookeeper.properties
    
    若不想显示日志信息:
    bin/zookeeper-server-start.sh config/zookeeper.properties > /dev/null 2>&1 &
    
  2. 在每个设备启动Kafka服务器:
    bin/kafka-server-start.sh config/server.properties
    
    若不想显示日志信息:
    bin/kafka-server-start.sh config/server.properties > /dev/null 2>&1 &
    

1.2 关闭集群

  1. 在每个设备关闭Kafka服务器:
    bin/kafka-server-stop.sh
    
  2. 在每个设备关闭Zookeeper:
    bin/zookeeper-server-stop.sh
    

1.3 检查Kafka状态

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

bin/kafka-broker-api-versions.sh --bootstrap-server localhost:9092

1.4 重新分配分区

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

  1. 生成重新分配方案
    bin/kafka-reassign-partitions.sh --generate --zookeeper localhost:2181 --topics-to-move-json-file topics-to-move.json --broker-list "0,1,2"
    
  2. 执行重新分配
    bin/kafka-reassign-partitions.sh --execute --zookeeper localhost:2181 --reassignment-json-file reassignment.json
    
  3. 查看重新分配状态
    bin/kafka-reassign-partitions.sh --verify --zookeeper localhost:2181 --reassignment-json-file reassignment.json
    

1.5 查看ZooKeeper中的Kafka数据

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

bin/zookeeper-shell.sh localhost:2181

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

  • 查看根节点:
    ls /
    
  • 查看Kafka的brokers信息:
    ls /brokers/ids
    
  • 查看某个节点的数据:
    get /brokers/ids/0
    

2 主题操作

2.1 相关参数

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

2.2 创建主题

创建主题test-topic

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

2.3 查看主题

列出所有主题:

bin/kafka-topics.sh --list --bootstrap-server localhost:9092

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

bin/kafka-topics.sh --describe --topic test-topic --bootstrap-server localhost:9092

2.4 删除主题

删除主题test-topic

bin/kafka-topics.sh --delete --topic test-topic --bootstrap-server localhost:9092

2.5 修改主题

修改主题test-topic

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主题:

bin/kafka-console-producer.sh --topic test-topic --bootstrap-server localhost:9092

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

3.2 消费消息

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

bin/kafka-console-consumer.sh --topic test-topic --from-beginning --bootstrap-server localhost:9092

参数说明:

  • --from-beginning:表示从主题的开始位置消费消息。

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 某某会员小程序后端性能优化
  • 11网络层-分组转发算法
  • 20240711每日消息队列-------------MQ消息的积压的折磨
  • html设计(两种常见的充电效果)
  • HCIA学习笔记(6)-ACL+NAT
  • LabVIEW扬尘控制系统
  • NsightCompute教程入门
  • 【Django项目】基于Python+Django+MySQL的音乐网站系统项目
  • go 密码hash加密包 bcrypt
  • CUDA原子操作
  • uniapp 表格,动态表头表格封装渲染
  • 柯桥小语种学习外语培训|法语学习法语浪漫的话有哪些,来看看吧~
  • 【2024_CUMCM】Matlab快速入门
  • eMMC规范 - 寻址/信息寄存器/总线协议/时序图/速度模式
  • 【YOLO格式的数据标签,目标检测】
  • [译]前端离线指南(上)
  • 【刷算法】从上往下打印二叉树
  • C++类的相互关联
  • CODING 缺陷管理功能正式开始公测
  • co模块的前端实现
  • CSS 三角实现
  • Django 博客开发教程 8 - 博客文章详情页
  • eclipse的离线汉化
  • gcc介绍及安装
  • GraphQL学习过程应该是这样的
  • Java 11 发布计划来了,已确定 3个 新特性!!
  • JavaScript工作原理(五):深入了解WebSockets,HTTP/2和SSE,以及如何选择
  • KMP算法及优化
  • Linux学习笔记6-使用fdisk进行磁盘管理
  • nginx 配置多 域名 + 多 https
  • Node 版本管理
  • 飞驰在Mesos的涡轮引擎上
  • 聚类分析——Kmeans
  • 看域名解析域名安全对SEO的影响
  • 我是如何设计 Upload 上传组件的
  • 一起参Ember.js讨论、问答社区。
  • 在Unity中实现一个简单的消息管理器
  • Mac 上flink的安装与启动
  • !!Dom4j 学习笔记
  • #define,static,const,三种常量的区别
  • #Ubuntu(修改root信息)
  • #我与Java虚拟机的故事#连载11: JVM学习之路
  • (1)虚拟机的安装与使用,linux系统安装
  • (day6) 319. 灯泡开关
  • (delphi11最新学习资料) Object Pascal 学习笔记---第13章第1节 (全局数据、栈和堆)
  • (Java企业 / 公司项目)点赞业务系统设计-批量查询点赞状态(二)
  • (Redis使用系列) Springboot 使用redis的List数据结构实现简单的排队功能场景 九
  • (分布式缓存)Redis持久化
  • (附源码)spring boot智能服药提醒app 毕业设计 102151
  • (含react-draggable库以及相关BUG如何解决)固定在左上方某盒子内(如按钮)添加可拖动功能,使用react hook语法实现
  • (幽默漫画)有个程序员老公,是怎样的体验?
  • (转)我也是一只IT小小鸟
  • (转)原始图像数据和PDF中的图像数据
  • .bat批处理(五):遍历指定目录下资源文件并更新
  • .chm格式文件如何阅读