Kafka topic、producer、consumer的基础使用

Kafka初级

前言

关于kafka的集群安装这里就先跳过,如果需要相关资料以及学习视频的可以在留言下留下联系信息(邮箱、微信、qq都可),我们直接从kafka的学习开始,这是初级阶段,这篇博主主要讲述kafka的命令行操作。

1.topic的增删改查
  1. 创建主题:

    切换到kafka的相关目录,进行以下命令行操作

    bin/kafka-topics.sh --create --bootstrap-server hadoop102:9092 --replication-factor 2 --partitions 3 --topic test2
    

    参数解释

    1. –bootstrap-server:该参数在kafka2.2及以上进行引进,即让kafka的topic信息存储在kafka自身,在2.2之前这个参数使用zookeeper代替

    2. –replication-factor 设置kafka主题备份数

    3. –partitions 设置分区数

    4. –topic kafka创建主题名称

  2. 查询kafka的集群描述:

    bin/kafka-topics.sh --bootstrap-server hadoop102:9092 --topic foo --describe
    
  3. 查看已经创建的topic信息:

    bin/kafka-topics.sh --describe --topic test2 --bootstrap-server hadoop102:9092
    

    此时命令行会给出相关内容

    Topic:test2	PartitionCount:3	ReplicationFactor:2	Configs:min.insync.replicas=1,segment.bytes=1073741824,retention.ms=604800000,max.message.bytes=1000000,min.cleanable.dirty.ratio=0.5,unclean.leader.election.enable=false,retention.bytes=-1,delete.retention.ms=604800000
    	Topic: test2	Partition: 0	Leader: 82	Replicas: 82,84	Isr: 82,84
    	Topic: test2	Partition: 1	Leader: 83	Replicas: 83,82	Isr: 83,82
    	Topic: test2	Partition: 2	Leader: 84	Replicas: 84,83	Isr: 84,83
    

    topic、partition、leader、replicas、isr相关信息都很清晰

  4. topic列表查询:

    bin/kafka-topics.sh --list --bootstrap-server hadoop102:9092
    
  5. topic分区扩容:

    bin/kafka-topics.sh --bootstrap-server hadoop102:9092 --alter --topic test --partitions 4
    
  6. 删除topic:

    bin/kafka-topics.sh --bootstrap-server hadoop102:9092 --delete --topic test
    

以上操作属于kafka topic相关的最基本操作,也是入门kafka的第一步。

2.生产者的消息发送

在kafka 的topic创建完毕之后,便是后续对topic的进行生产使用,topic这时候的作用便是一个标签,在该topic的影响下生产者生产出来想对应的数据,比如:我们生产球拍是一个topic,生产球又是一个topic。

此时,我们运行生产者对发送过来的消息进行相对应的topic生产

bin/kafka-console-producer.sh --broker-list localhost:9092 --topic test

有人会问,这个broker-list是什么参数

别急让我们看看官方是怎么定义的:

Broker:

已发布的消息保存在一组服务器中,称之为Kafka集群。集群中的每一个服务器都是一个代理(Broker)。 消费者可以订阅一个或多个主题(topic),并从Broker拉数据,从而消费这些已发布的消息。

说白了,我们把生产的消息存放在了这个broker里,而通过-list参数,你可以存放在多个服务器中。

通过上述命令,我们运行生产者,此时我们可以在控制台进行消息的发送。就像下面的截图一样。

在这里插入图片描述

3.消费者消费数据

数据的生产,不能让它没有用武之地啊,于是我们需要消费信息,也就是接下来的工具人—consumer(消费者)

此时,我们在开一个终端,对刚刚生产的数据进行消费。

bin/kafka-console-consumer.sh --bootstrap-server hadoop102:9092 --topic test2 --from-beginning

当我们打开消费者时,会发现,生产的数据出现了!

在这里插入图片描述

他以一行一行的形式出现了!

一行即一条消息。

有人会问,控制台里生产,控制台里消费,不都是控制台吗,干嘛多此一举。

别急,在后续当你遇到TB,PB级的数据需要从一个地方运输到另一个地方的时候,你会发现kafka的神秘之处。

可以使用Ctrl-C停止消费者客户端。

通过上述案例,你对kafka有没有一个初步的认知呢?关注我,带你深入了解大数据。想要资料的可以在评论区留言哦!

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值