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

【大数据学习 | kafka】kafka的shell操作

1. topic的管理命令(kafka-topics.sh

参数如下:

1.1 创建

# 创建
kafka-topics.sh --bootstrap-server nn1:9092 --create --topic topic_a --partitions 3 --replication-factor 2
# --bootstrap-server 指定集群地址,因为每个节点都存在controller所以想要获取元数据只需要指定集群中的一台机器就行了
# --create是创建命令
# --topic 指定topic的名称
# --partitions 分区数量,分区数量没有限定
# --replication-factor 副本数量,副本数量必须小于等集群的机器的个数,因为一个节点上面不能存在多个副本

1.2 查看 list

# list查看所有topic
kafka-topics.sh --bootstrap-server nn1:9092 --list

1.3 描述 desc

# 描述 desc
kafka-topics.sh --bootstrap-server nn1:9092 --describe --topic topic_a

describe命令展示的topic信息如下:

topic名称
topic_id随机id
partition_count 分区数量
replicationFactor 副本数量
Topic: topic_a  Partition: 0    Leader: 1       Replicas: 1,2   Isr: 1,2
内容解释:topic_a,0号分区在,leader分区在brokerid为1的broker上面,副本在brokerid为1和2两个节点上面
isr是数据的备份情况,先进broker1然后进入到broker2

1.4 删除 delete

# 删除
kafka-topics.sh --bootstrap-server nn1:9092 --delete --topic topic_a

1.5 修改 alter

# 重新创建
kafka-topics.sh --bootstrap-server nn1:9092 --create --topic topic_a --partitions 3 --replication-factor 2
# alter修改topic
kafka-topics.sh --bootstrap-server nn1:9092 --alter --topic topic_a --partitions 2
# 分区数量不能减少只能增加,减少分区会使得数据丢失
kafka-topics.sh --bootstrap-server nn1:9092 --alter --topic topic_a --partitions 4
# 修改副本数据
# 在创建完毕的topic以后,我们在使用的时候可能会遇见,副本不足的情况,这个时候我们可以动态增加topic的副本数量,但是增加的副本数量要在原有的基础上进行增加
# 首先我们创建一个json文件,用于支配topic的分区副本和节点的对应关系
vim json.txt
# 以原有分区分配的策略基础之上做二次变化
{"partitions":[{"topic":"topic_a","partition":0,"replicas":[4,3,2]},{"topic":"topic_a","partition":1,"replicas":[1,0,2]},{"topic":"topic_a","partition":2,"replicas":[2,4,0]},{"topic":"topic_a","partition":3,"replicas":[2,3,1]}],"version":1}
# 执行重新分配命令
kafka-reassign-partitions.sh --bootstrap-server nn1:9092 --reassignment-json-file json.txt --execute

2. 数据的生产消费命令(kafka-console-producer.sh

# 生产者命令
kafka-console-producer.sh --bootstrap-server nn1:9092 --topic topic_a
# 消费者命令 --from-beginning 从头消费数据 --partition 指定分区消费
kafka-console-consumer.sh --bootstrap-server nn1:9092 --topic topic_a
# 指定分区,并且消费历史数据
kafka-console-consumer.sh --bootstrap-server nn1:9092 --topic topic_a  --from-beginning --partition 2


http://www.mrgr.cn/news/61449.html

相关文章:

  • C++ ——— 内部类
  • MySQL中的四种表联结
  • 【股票数据API接口05】如何获取股票最新分时MA数据之Python、Java等多种主流语言实例代码演示通过股票数据接口获取数据
  • 完全自定义Qt翻译功能,不使用Qt Linguist的.ts 和 .qm类型翻译
  • Win32汇编学习笔记10.OD插件
  • 数据结构之顺序结构二叉树(超详解)
  • Java学习教程,从入门到精通,Java if...else语句(13)
  • AtCoder DP Contest 题目全讲(上)
  • 5. STM32之TIM实验--输出比较(PWM输出,电机,四轴飞行器,智能车,机器人)--(实验5:PWM驱动直流电机)
  • Hadoop生态圈框架部署(二)- 配置IP地址映射为主机名及免密登录
  • 网络中的一些基本概念
  • Spring SPI、Solon SPI 有点儿像(Maven 与 Gradle)
  • 13.2024.10.29
  • jmeter基础01-1_环境准备-windows系统安装jdk
  • 【模型学习之路】手写+分析Transformer
  • IFC模型文本的含义
  • 【力扣打卡系列】滑动窗口与双指针(三数之和)
  • 昆明理工大学MBA工商管理课程表
  • 【云原生】云原生后端详解:架构与实践
  • 4款高效的中英文在线翻译工具推荐,让英语不再是障碍。
  • 详细指南:解决Garmin 手表无法与电脑连接的问题
  • LCR 024. 反转链表 最细图片逐行解析过程
  • VSCode 设置环境变量(WSL 2)
  • df -h 和df -i 的区别
  • AcWing 1451:单链表快速排序
  • crash工具使用