Kafka【命令行操作】

2023-09-17 17:09:39

Kafka 命令行操作

Kafka 主要包括三大部分:生产者、主题分区节点、消费者。

1、Topic 命令行操作

也就是我们 kafka 下的脚本 kafka-topics.sh 的相关操作。

常用命令行操作

参数

描述

--bootstrap-server <String: server toconnect to>

连接的Kafka Broker主机名称和端口号。

--topic <String: topic>

操作的topic名称。

--create

创建主题。

--delete

删除主题。

--alter

修改主题。

--list

查看所有主题。

--describe

查看主题详细描述。

--partitions <Integer: # of partitions>

设置分区数。

--replication-factor<Integer: replication factor>

设置分区副本。

--config <String: name=value>

更新系统默认的配置。

查看当前一共有多少个 topic:

        我们测试环境下一般只通过一台节点连接,但是生产环境下可以在 hadoop102:9092 后面加个逗号,再跟一个  hadoop103:9092 。

kafka-topics.sh --bootstrap-server hadoop102:9092 --list
创建 topic :

创建一个 点赞 的主题,必须指定分区和副本才能创建成功,这里我们指定分区数和副本数分别为 1 和 3 。

kafka-topics.sh --bootstrap-server hadoop102:9092 --topic like --create --partitions 1 --replication-factor 3
查看主题详细信息:
kafka-topics.sh --bootstrap-server hadoop102:9092 --topic like --describe

运行结果:

Topic: like	TopicId: 2RDnQulpR_K1FSmLVIKMlw	PartitionCount: 1	ReplicationFactor: 3	Configs: 
	Topic: like	Partition: 0	Leader: 2	Replicas: 2,1,0	Isr: 2,1,0

可以看到副本分别位于 2,1,0, 也就是我们之前安装时指定的 broker.id 这个参数。leader:2 表示 leader 节点的 broker.id = 2 ,也就是我们的 hadoop104 节点。

修改 like 主题的分区数:

修改分区数为 3(原本是 1)。

kafka-topics.sh --bootstrap-server hadoop102:9092 --topic like --alter  --partitions 3

修改结果:

Topic: like	TopicId: 2RDnQulpR_K1FSmLVIKMlw	PartitionCount: 3	ReplicationFactor: 3	Configs: 
	Topic: like	Partition: 0	Leader: 2	Replicas: 2,1,0	Isr: 2,1,0
	Topic: like	Partition: 1	Leader: 0	Replicas: 0,1,2	Isr: 0,1,2
	Topic: like	Partition: 2	Leader: 1	Replicas: 1,2,0	Isr: 1,2,0
注意: 

         分区数只能增加不能减少!副本也不能通过命令行减少。

删除 topic like 
kafka-topics.sh --bootstrap-server hadoop102:9092 --topic like --delete

2、生产者命令行操作

也就是我们 kafka 下的脚本 kafka-console-producer.sh 的相关操作。

常用命令式行

参数

描述

--bootstrap-server <String: server toconnect to>

连接的Kafka Broker主机名称和端口号。

--topic <String: topic>

操作的topic名称。

生产消息
kafka-console-producer.sh --bootstrap-server hadoop102:9092 --topic like
> 消息1
> 消息2
> ...

3、消费者命令行操作

常用命令行

参数

描述

--bootstrap-server <String: server toconnect to>

连接的Kafka Broker主机名称和端口号。

--topic <String: topic>

操作的topic名称。

--from-beginning

从头开始消费。

--group <String: consumer group id>

指定消费者组名称。

消费消息
kafka-console-consumer.sh --bootstrap-server hadoop102:9092 --topic like
把主题中所有数据读取出来(所有历史数据)
kafka-console-consumer.sh --bootstrap-server hadoop102:9092 --from-beginning --topic first

注意:慎用,可能会把已经处理过的消息又处理一遍。

更多推荐

浅谈C++|模板篇

一.模板模板概念模板就是建立通用的模具,大大提高复用性模板的特点:1.模板不可以直接使用,它只是一个框架2.模板的通用并不是万能的·C++另一种编程思想称为泛型编程,主要利用的技术就是模板。·C++提供两种模板机制:函数模板和类模板二.函数模板函数模板作用:建立一个通用函数,其函数返回值类型和形参类型可以不具体制定,用

校园网络技术需求分析

路由技术:路由协议工作在OSI参考模型的第3层,因此它的作用主要是在通信子网间路由数据包。路由器具有在网络中传递数据时选择最佳路径的能力。除了可以完成主要的路由任务,利用访问控制列表(AccessControlList,ACL),路由器还可以用来完成以路由器为中心的流量控制和过滤功能。在本工程设计中,内网用户不仅通过路

慢SQL原因分析之索引失效 | 京东物流技术团队

现象最近收到一个慢sql工单,慢sql大概是这样:“selectxxxfromtabelwheretype=1”。咦,type字段明明有索引啊,为啥是慢sql呢?原因通过执行explain,发现实际上数据库执行了全表扫描,从而被系统判定为慢sql。这时有一定开发经验的同事会说:“字段区分度不够,这种字段作单独索引是没有

Nest.js 入门基础

目录安装入门文档小技巧异步方法优化使用Fastify框架Open-API(Swagger)E2ETestingLoggerGraphql代码仓库:https://github.com/nestjs/nest官方文档:https://docs.nestjs.com/中文文档:https://docs.nestjs.cn/

【Flutter】Flutter 使用 Stream Transform 包处理流操作

文章目录一、前言二、StreamTransform包简介三、安装和版本信息四、StreamTransform的基本使用1.扩展方法2.异步映射五、示例:使用StreamTransform实现实时搜索功能六、总结一、前言欢迎来到我的博客!我是小雨青年,这是我于2023年发布在CSDN的博客,如果你不是在CSDN看到的,请

007 数据结构_堆——“C”

前言本文将会向您介绍关于堆Heap的实现具体步骤tips:本文具体步骤的顺序并不是源代码的顺序typedefintHPDataType;typedefstructHeap{HPDataType*_a;int_size;int_capacity;}Heap;初始化voidHeapCreate(Heap*hp,HPData

设计模式:享元模式(C++实现)

享元模式(FlyweightPattern)是一种结构设计模式,它通过共享对象来有效地支持大量细粒度的对象。享元模式的目标是尽量减少内存使用,通过共享相同的数据来减少对象的数量。以下是一个简单的C++享元模式的示例:#include<iostream>#include<unordered_map>//抽象享元类clas

【力扣每日一题】2023.9.17 打家劫舍Ⅱ

目录题目:示例:分析:代码:题目:示例:分析:打家劫舍2在1的基础上增加了一个规则,那就是房屋是首尾相连的。这对我们解题有什么影响呢?唯一的影响就是我们偷了第一间屋子就不能偷最后一间屋子了。最终情况可以分为两种,第一种就是可以偷第一间屋子而不能偷最后一间屋子,第二种就是可以偷最后一间屋子而不能偷第一间屋子。在第一种情况

分布式电源接入对配电网影响分析(Matlab代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。⛳️座右铭:行百里者,半于九十。📋📋📋本文目录如下:🎁🎁🎁目录💥1概述📚2运行结果🎉3参考文献🌈4Matlab代码、数据、文章💥1概述分布式电源的接入将配电系统从传统的无源放射

shell编程

目录shell脚本的第一行变量数据类型Linux下的计算器--bc整数数值的运算获得命令的输出结果字符串操作数组循环forwhile判断case语句函数shell脚本的第一行一般shell脚本的第一行用于在没有指定解释器时,默认使用这个解释器执行如,默认使用Bash解释器来执行这个脚本#!/bin/bash如果安装了p

LabVIEW使用ModbusTCP协议构建分布式测量系统

LabVIEW使用ModbusTCP协议构建分布式测量系统分布式测量系统主要用于监控远程物体。这种系统允许对系统用户获得的数据进行全面的数据收集、处理、存储和组织访问。它们可能包括许多不同类型的传感器。在任何具有互联网接入的个人计算机上运行的软件都会发送来自传感器的测量数据请求,接收来自控制器的响应,并将接收的值保存在

热文推荐