一、使用kafka-topics.sh脚本来对主题进行CRUD操作
1.使用该脚本时常用的参数如下
–create 创建主题时使用
–topic 用于指定主题
–partitions 指定主题的分区数量
–replication-factor 指定副本的数量(注意:副本数量不可以大于broker数量)
–zookeeper 指定zookeeper的ip以及端口号
2.创建主题
kafka-topics.sh \
--create \
--topic people \
--partitions 3 \
--replication-factor 3 \
--zookeeper hadoop01,hadoop02,hadoop03/kafka
(最后一行的/kafka是我在zookeeper中维护kafka的znode的目录,根据自己的情况调整)
3.列出主题
kafka-topics.sh \
--list
--zookeeper hadoop01,hadoop02,hadoop03/kafka
4.查看指定主题
kafka-topics.sh \
--describe \
--topic people \
--zookeeper hadoop01,hadoop02,hadoop03/kafka
5.修改主题
kafka-topics.sh \
--alter \
--topic people \
--partitions 4 \
--zookeeper hadoop01,hadoop02,hadoop03/kafka
(修改主题分区数时,不可以将分区数量修改为小于原先的分区数量,只能大于原先的分区数量)
6.删除主题
kafka-topics.sh \
--delete \
--topic people \
--zookeeper hadoop01,hadoop02,hadoop03/kafka
(删除主题时,如果不起作用则可能是delete.topic.enable没有设置成true)
二、使用kafka-console-producer.sh脚本来生产消息
1.使用该脚本时常用的参数如下
–broker-list 指定broker服务器
–topic 指定主题
2.生产消息
kafka-console-producer.sh \
--broker-list hadoop01:9092,hadoop02:9092,hadoop03:9092
--topic people
三、使用kafka-console-consumer.sh脚本消费消息
1.使用该脚本时常用参数如下
–bootstrap-server 指定要连接的broker服务器
–from-beginning 从头开始消费消息
–partition 指定要消费的消息的分区号
–offset 指定读取的偏移量,或者earliest(从头开始消费),latest(消费最新数据)
(当没有指定从什么位置开始消费消息的时候,则默认读取最新消息)
案例1
kafka-console-consumer.sh \
--bootstrap-server hadoop01:9092,hadoop02:9092,hadoop03:9092 \
--topic people \
offset 0
案例2
kafka-console-consumer.sh \
--bootstrap-server hadoop01:9092,hadoop02:9092,hadoop03:9092 \
--topic people \
offset earliest
案例3
kafka-console-consumer.sh \
--bootstrap-server hadoop01:9092,hadoop02:9092,hadoop03:9092 \
--topic people \
--from-beginning