【星环云课堂大数据实验】kafka消息发布与订阅

本文介绍了如何在星环云课堂TranswarpVD环境中使用Kafka进行消息队列操作,包括创建KafkaTopic、消息发布和订阅的实验步骤,以及对Kafka原理的理解。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、Kafka概述

Kafka是由Apache软件基金会开发的一个开源流处理平台,由Scala和Java编写。该项目的目标是为处理实时数据提供一个统一、高吞吐、低延迟的平台。其持久化层本质上是一个“按照分布式事务日志架构的大规模发布/订阅消息队列”,[4]这使它作为企业级基础设施来处理流式数据非常有价值。此外,Kafka可以通过Kafka Connect连接到外部系统(用于数据输入/输出),并提供了Kafka Streams——一个Java流式处理库。
大白话就是kafka其实消息队列得一种。

二、实验环境

基于星环云课堂TranswarpVD

三、实验准备

查看Zookeeper和Kafka集群的服务地址
打开Transwarp Manager查看Zookeeper集群和kafka的服务地址如下所示
zookeeper地址:
172.18.48.5:2181
172.18.48.6:2181
172.18.48.7:2181
kafka地址**(也就是Broker地址)**:
172.18.48.5:9092
172.18.48.6:9092
172.18.48.7:9092
172.18.48.8:9092

后续的命令替换
{Broker_List} :172.18.48.5:9092,172.18.48.6:9092,172.18.48.7:9092,172.18.48.8:9092
{Zookeeper_List}: 172.18.48.5:2181,172.18.48.6:2181,172.18.48.7:2181
{topic _name} :kafka_topic_zhanghaodong

在这里插入图片描述
在这里插入图片描述

四、实验目的

掌握Kafka的基本使用。‘
了解Kafka消息的发布\订阅机制

五、实验步骤

5.1、创建Kafka Topic

• 任务:利用TDH Client集成的Kafka客户端,创建名为{topic_name}的Kafka Topic,命名规范为kafka_topic_账号,如账号student1,则创建Topic为kafka_topic_student1。
• 步骤
Linux:

  1. cd /transwarp/Desktop/TDH-Client/kafka/bin
    // 进入TDH Client集成的Kafka客户端目录在这里插入图片描述

  2. ./kafka-topics.sh --bootstrap-server {Broker_List} --create --topic {topic_ name} --partitions 1 --replication-factor 1 --command-config /transwarp/Desktop/TDH-Client/kafka/config/consumer.properties
    // 创建Topic
    在这里插入图片描述

  3. ./kafka-topics.sh --zookeeper {Zookeeper_List} --list
    // 列出所有Topic,查看Topic是否创建成功
    在这里插入图片描述

5.2、Kafka消息发布

• 任务:在当前命令行窗口中,创建Kafka Console Producer,它负责在控制台向Kafka Topic发布消息。
• 步骤
Linux:

  1. ./kafka-console-producer.sh --topic {topic _name} --broker-list {Broker_List} --producer.config /transwarp/Desktop/TDH-Client/kafka/config/producer.properties
    // 创建Console Console Producer在这里插入图片描述

5.3、Kafka消息订阅

• 任务:新建一个命令行窗口,创建Kafka Console Consumer,它负责在控制台接收Kafka Topic的消息。
• 说明:在Producer窗口中输入消息并回车,消息发送到Kafka Topic,Consumer窗口可实时接收到消息。
• 步骤
Linux:

  1. 执行TDH Client的init.sh脚本,启动TDH Client
    source /transwarp/Desktop/TDH-Client/init.sh
    在这里插入图片描述
  2. 创建Kafka Console Consumer
    cd /transwarp/Desktop/TDH-Client/kafka/bin
    在这里插入图片描述
    ./kafka-console-consumer.sh --topic {topic_ name} --from-beginning --bootstrap-server {Broker_List} --consumer.config /transwarp/Desktop/TDH-Client/kafka/config/consumer.properties
    在这里插入图片描述
  3. 在控制台生产者窗口中输入以下数据
    Hello World
    Hello Kafka
  4. 返回控制台消费者窗口,可以看到消息已接收到
    在这里插入图片描述

六、实验感悟

学习消息队列kafka原理得时候其实蛮痛苦得,因为很复杂。但是实际开发中用起来是很方便的,这个实验就是这样的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值