Kafka命令行操作指南
创作时间:
作者:
@小白创作中心
Kafka命令行操作指南
引用
CSDN
1.
https://blog.csdn.net/weixin_48935611/article/details/138920940
1. Kafka概述
2. 主题(Topic)命令行操作
Kafka 主题(Topic)是 Kafka 中用于组织和存储消息的逻辑单元。在 Kafka 中,生产者(Producer)将消息发布到主题,消费者(Consumer)从主题中订阅消息。
创建主题(Create Topic)
- 示例:创建一个名为 my_topic 的主题,包含 3 个分区和每个分区的副本数为 2。
kafka-topics.sh --bootstrap-server localhost:9092 --create --topic my_topic --partitions 3 --replication-factor 2
bootstrap-server
:指定 Kafka 集群的地址和端口。create
:表示创建主题的操作。topic
:指定要创建的主题名称。partitions
:指定主题的分区数。replication-factor
:指定每个分区的副本数。
列出所有主题(List Topics)
- 示例:列出 Kafka 集群中所有的主题名称。
kafka-topics.sh --bootstrap-server localhost:9092 --list
查看主题详情(Describe Topic)
- 示例:查看名为 my_topic 的主题的详细信息,包括分区、副本分配情况等。
kafka-topics.sh --bootstrap-server localhost:9092 --describe --topic my_topic
删除主题(Delete Topic)
- 示例:删除名为 my_topic 的主题。
kafka-topics.sh --bootstrap-server localhost:9092 --delete --topic my_topic
修改主题配置(Alter Topic Configuration)
- 示例:修改名为 my_topic 的主题的最大消息字节数为 1 MB。
kafka-configs.sh --bootstrap-server localhost:9092 --entity-type topics --entity-name my_topic --alter --add-config max.message.bytes=1048576
增加分区(Add Partitions)
- 示例:将名为 my_topic 的主题的分区数增加到 5。
注意:分区数只能增加,不能减少
kafka-topics.sh --bootstrap-server localhost:9092 --alter --topic my_topic --partitions 5
查看主题的配置(View Topic Configuration)
- 示例:查看名为 my_topic 的主题的配置信息,如副本数、清理策略等。
kafka-configs.sh --bootstrap-server localhost:9092 --entity-type topics --entity-name my_topic --describe
查找主题的消费者(Find Consumers for Topic)
- 示例:查找订阅了名为 my_topic 的主题的消费者组。
kafka-consumer-groups.sh --bootstrap-server localhost:9092 --list --all-groups --topic my_topic
3. 生产者(Producer)命令行操作
发送消息(Produce Messages)
- 示例:启动一个交互式的控制台生产者,将消息发送到名为 my_topic 的主题。
kafka-console-producer.sh --bootstrap-server localhost:9092 --topic my_topic
bootstrap-server
:指定 Kafka 集群的地址和端口。topic
:指定要发送消息的目标主题。
指定消息键发送(Produce Messages with Keys)
- 示例:启动一个交互式的控制台生产者,向名为 my_topic 的主题发送带有键的消息。
kafka-console-producer.sh --bootstrap-server localhost:9092 --topic my_topic --property "parse.key=true" --property "key.separator=:"
property "parse.key=true"
:表示消息包含键。property "key.separator=:"
:指定键值对中键和值的分隔符。
从文件中发送消息(Produce Messages from File)
kafka-console-producer.sh --bootstrap-server localhost:9092 --topic my_topic < messages.txt
- 示例:从名为 messages.txt 的文件中读取消息,并将其发送到名为 my_topic 的主题。
自定义分区器发送消息(Produce Messages with Custom Partitioner)
- 示例:启动一个交互式的控制台生产者,并使用自定义的分区器将消息发送到名为 my_topic 的主题。
kafka-console-producer.sh --bootstrap-server localhost:9092 --topic my_topic --property "partitioner.class=my.custom.Partitioner"
property "partitioner.class=my.custom.Partitioner"
:指定自定义的分区器类。
设置消息发送速率(Setting Message Sending Rate)
- 示例:使用性能测试工具以指定的速率向名为 my_topic 的主题发送消息。
kafka-producer-perf-test.sh --topic my_topic --throughput 100 --num-records 1000000 --record-size 100 --producer-props bootstrap.servers=localhost:9092
throughput
:指定消息发送速率(消息/秒)。num-records
:指定要发送的消息总数。record-size
:指定每条消息的大小。
4. 消费者(Consumer)命令行操作
消费消息(Consume Messages)
示例:启动一个交互式的控制台消费者,从名为 my_topic 的主题消费消息,并从起始处开始。
kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic my_topic --from-beginning
bootstrap-server
:指定 Kafka 集群的地址和端口。topic
:指定要消费消息的目标主题。from-beginning
:从主题的起始处开始消费消息。
指定消费者组消费消息(Consume Messages with Consumer Group)
- 示例:启动一个交互式的控制台消费者,将其添加到名为 my_group 的消费者组中,并从名为 my_topic 的主题消费消息。
kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic my_topic --group my_group
group
:指定消费者组的名称。
消费指定分区的消息(Consume Messages from Specific Partition)
kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic my_topic --partition 0
partition
:指定要消费消息的分区。
示例:启动一个交互式的控制台消费者,从名为 my_topic 的主题的分区 0 消费消息。
消费指定偏移量的消息(Consume Messages from Specific Offset)
- 示例:启动一个交互式的控制台消费者,从名为 my_topic 的主题的偏移量 1234 开始消费消息。
kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic my_topic --offset 1234
offset
:指定要消费消息的偏移量。
消费消息并输出到文件(Consume Messages and Output to File)
- 示例:启动一个控制台消费者,从名为 my_topic 的主题消费消息,并将消息输出到名为 output.txt 的文件中。
kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic my_topic --from-beginning > output.txt
热门推荐
荔枝的种植技术
业委会可以动用大修基金吗?
护肤品化妆步骤的先后顺序图
工程测量放线完全指南:从基础到高层的精准控制
高知教育:推动教育资源的共享和优化配置,促进教育公平
人格障碍类型有哪些调整方法
美系豪华之争:林肯航海家 vs 凯迪拉克CT6
怎样判断是不是腮腺炎症状表现
为了适应母亲这一角色,孕期大脑竟会主动做出变化!
从长沙 向世界——长沙交通运输当好经济高质量发展“开路先锋”综述
开关上的“O”和“I”哪个是开哪个是关?
10个历史小故事,让孩子树立正确人生观和世界观,受益一生
国风面料之香云纱与红云纱的区别
t是什么货币单位的缩写,“t”之谜:身份揭秘
石菖蒲的功效与作用,石菖蒲是什么植物
渗透平衡时两边浓度的判断方法
WPS表格图片在Excel中正常显示的15个实用技巧
怀孕令大脑缩小?“一孕傻三年”真有科学依据?
雄安新区旅游攻略:景点推荐、美食体验、住宿指南、交通出行全解析
雅思大小作文的区别是什么 如何准备雅思的大小作文写作
临床需求为导向!持续推进骨科医疗服务高质量发展
双重人格的10个征兆:识别与理解
西向房屋的利与弊分析
从秦始皇焚书到《永乐大典》:中国古代文献整理与保存的历史
100个出自楚辞的好名字
《哪吒》破纪录:区块链技术如何助力电影票房的透明化和可追溯性?
盛唐边塞诗派
黄巾之乱领袖张角的生平与寿命探究
水煮肉片:麻辣香浓,回味无穷
招聘需求分析:精准定位企业人才需求的八大策略