kafka的常用操作

创建topic

[root@hadoop1 kafka_2.12-1.1.0]# ./bin/kafka-topics.sh --create --zookeeper hadoop1:2181,hadoop2:2181,hadoop3:2181 --replication-factor 3 --partitions 3 --topic test

注:"test"是topic的名字;"partitions"表示分区个数,在消费过程中,一个分区只能被一个消费者消费,但是一个消费者可以消费多个分区,使用分区个数要大于等于消费者的个数,当分区个数小于消费者个数时,会造成消费者空闲浪费;此外分区的个数也应该大于等于broker的个数,这样会leader partition就会均匀的分布在各个broker上,实现负载均衡;同时"leader"分区负责读写,"follower"分区负责同步数据,"replication-factor"表示数据的备份数量,他的个数只能小于等于broker的数量,因为在备份时,应该broker会备份一份,如果备份数量大于broker的数量时,创建主题就好失败。另外,kafka的所有主题都是存储在zookeeper集群中。

查看已创建的topic列表

[root@hadoop1 kafka_2.12-1.1.0]# ./bin/kafka-topics.sh --list  --zookeeper hadoop1:2181,hadoop2:2181,hadoop3:2181

描述主题

[root@hadoop3 kafka_2.12-1.1.0]#./bin/kafka-topics.sh --describe --zookeeper hadoop1:2181,hadoop2:2181,hadoop3:2181  --topic test

注:"test"是要描述的主题

删除主题

[root@hadoop1 kafka_2.12-1.1.0]#./bin/kafka-topics.sh --delete  --zookeeper hadoop1:2181,hadoop2:2181,hadoop3:2181   --topic test

注: 如果想删除kafaka中的主题,必须在配置文件中server.properties中添加"delete.topic.enable=true"参数,否则,此时的删除并不是真正的删除,而是把topic标记为:marked for deletion,主题仍然在zookeeper集群中

启动生产者(会占用当前窗口)

[root@hadoop1 kafka_2.12-1.1.0]#./bin/kafka-console-producer.sh --broker-list hadoop1:9092, hadoop2:9092, hadoop3:9092 --topic test

注:"hadoop1:9092, hadoop2:9092, hadoop3:9092"是broker服务端所在的机器;"test"表示往哪个主题中存储数据。此处可以输入内容,用于生产信息。

启动消费者

[root@hadoop2 kafka_2.12-1.1.0]# ./bin/kafka-console-consumer.sh --bootstrap-server hadoop1:9092, hadoop2:9092, hadoop3:9092 --from-beginning --topic test

注:"–from-beginning "表示从生产者生成数据开始时,开始消费数据;不写此参数,表示从消费者启动时,开始消费数据,之前生产者生成的数据不会被消费;"test"表示从哪个主题中消费数据。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值