Kafka【命令行操作】

简介: Kafka【命令行操作】

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

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

目录
打赏
0
0
0
0
37
分享
相关文章
Kafka生产者和消费者相关命令行操作
Kafka生产者和消费者相关命令行操作
191 1
Kafka - 3.x Kafka命令行操作
Kafka - 3.x Kafka命令行操作
162 0
Kafka常用命令行总结
以下是kafka常用命令行总结: 1.查看topic的详细信息 ./kafka-topics.sh -zookeeper127.0.0.1:2181-describe -topic testKJ1 2、为topic增加副本 .
1069 0
kafka 的数据是放在磁盘上还是内存上,为什么速度会快?
Kafka的数据存储机制通过将数据同时写入磁盘和内存,确保高吞吐量与持久性。其日志文件按主题和分区组织,使用预写日志(WAL)保证数据持久性,并借助操作系统的页缓存加速读取。Kafka采用顺序I/O、零拷贝技术和批量处理优化性能,支持分区分段以实现并行处理。示例代码展示了如何使用KafkaProducer发送消息。
为什么说Kafka还不是完美的实时数据通道
【10月更文挑战第19天】Kafka 虽然作为数据通道被广泛应用,但在实时性、数据一致性、性能及管理方面存在局限。数据延迟受消息堆积和分区再平衡影响;数据一致性难以达到恰好一次;性能瓶颈在于网络和磁盘I/O;管理复杂性涉及集群配置与版本升级。
229 1
Flink-04 Flink Java 3分钟上手 FlinkKafkaConsumer消费Kafka数据 进行计算SingleOutputStreamOperatorDataStreamSource
Flink-04 Flink Java 3分钟上手 FlinkKafkaConsumer消费Kafka数据 进行计算SingleOutputStreamOperatorDataStreamSource
115 1
Kafka不重复消费的终极秘籍!解锁幂等性、偏移量、去重神器,让你的数据流稳如老狗,告别数据混乱时代!
【8月更文挑战第24天】Apache Kafka作为一款领先的分布式流处理平台,凭借其卓越的高吞吐量与低延迟特性,在大数据处理领域中占据重要地位。然而,在利用Kafka进行数据处理时,如何有效避免重复消费成为众多开发者关注的焦点。本文深入探讨了Kafka中可能出现重复消费的原因,并提出了四种实用的解决方案:利用消息偏移量手动控制消费进度;启用幂等性生产者确保消息不被重复发送;在消费者端实施去重机制;以及借助Kafka的事务支持实现精确的一次性处理。通过这些方法,开发者可根据不同的应用场景灵活选择最适合的策略,从而保障数据处理的准确性和一致性。
479 9
"Kafka核心机制揭秘:深入探索Producer的高效数据发布策略与Java实战应用"
【8月更文挑战第10天】Apache Kafka作为顶级分布式流处理平台,其Producer组件是数据高效发布的引擎。Producer遵循高吞吐、低延迟等设计原则,采用分批发送、异步处理及数据压缩等技术提升性能。它支持按消息键值分区,确保数据有序并实现负载均衡;提供多种确认机制保证可靠性;具备失败重试功能确保消息最终送达。Java示例展示了基本配置与消息发送流程,体现了Producer的强大与灵活性。
110 3

相关实验场景

更多