文章目录
- 前言
- 一、Kafka相关Shell命令
- (一)创建并查询Topic
- (二)删除Topic
- (三)增加Topic的分区
- (四)生产数据到Topic
- (五)从Topic消费数据
 
- 总结
前言
#博学谷IT学习技术支持#
 本篇文章主要介绍Kafka相关的Shell命令和Java API,通过Shell命令和Java API可以进一步了解Kafka的操作,从而加深对Kafka的认识。
一、Kafka相关Shell命令
使用Kafka相关命令需要在linux服务器上进到Kafka解压的bin文件夹中,以下相关Shell命令的前提是linux服务器以及进入到Kafka的bin文件夹中,同时还需要确保Zookeeper集群的正常运行,因为Kafka集群依赖Zookeeper,相关环境安装可以参考:(1) Zookeeper集群搭建(2) Kafka集群搭建
(一)创建并查询Topic
- 创建Topic
./kafka-topics.sh 
--bootstrap-server node1:9092,node2:9092,node3:9092 
--create 
--topic kafkaDemo2 
--partitions 3 
--replication-factor 2
解释:
./kafka-topics.sh  kafka集群中操作Topic的Shell脚本,该脚本位于Kafka安装环境的bin文件夹中
--bootstrap-server  指定该集群依赖的Zookeeper地址
--create  用于创建Topic管道
--topic  指定本次创建的Topic的名称
--partitions  设置该Topic的分区
--replication-factor  设置副本数
注意:如果没有设置分区和副本数,分区和副本数默认都为1
- 查询Topic
./kafka-topics.sh 
--bootstrap-server node1:9092,node2:9092,node3:9092 
--list
解释:
--list  列出当前存在的Topic列表
- 查询指定Topic
./kafka-topics.sh 
--bootstrap-server node1:9092,node2:9092,node3:9092 
--describe 
--topic kafkaDemo
解释:
--describe  查询Topic的信息
--topic 指定具体的Topic

(二)删除Topic
 ./kafka-topics.sh 
 --bootstrap-server node1:9092,node2:9092,node3:9092 
 --delete 
 --topic kafkaDemo2
解释:
--delete  删除Topic
--topic  指定Topic的名称
(三)增加Topic的分区
./kafka-topics.sh 
--bootstrap-server node1:9092,node2:9092,node3:9092 
--alter 
--topic kafkaDemo2 
--partitions 4
解释:
--alter  修改Topic相关信息
--topic  指定具体的Topic
--partitions  修改分区的数量
(四)生产数据到Topic
生产数据使用的bin文件夹下的kafka-console-producer.sh脚本,同时还需要使用相关命令才能生产数据到指定的Topic中,接着就是等待消费者到Topic进行数据的消费。
./kafka-console-producer.sh 
--broker-list node1:9092,node2:9092,node3:9092 
--topic kafkaDemo
解释:
--broker-list  指定Zookeeper集群地址
--topic  指定具体的Topic

(五)从Topic消费数据
消费指定Topic中的数据使用的是kafka-console-consumer.sh脚本,该脚本一运行,如果Topic中已经产生数据,则会自动消费该Topic中的数据。
 ./kafka-console-consumer.sh 
 --bootstrap-server node1:9092,node2:9092,node3:9092 
 --topic kafkaDemo
解释:
--bootstrap-server  指定Zookeeper集群地址
--topic  指定具体的Topic



















