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

一、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原理得时候其实蛮痛苦得,因为很复杂。但是实际开发中用起来是很方便的,这个实验就是这样的。

相关推荐

  1. kafka--发布-订阅消息系统

    2023-12-17 05:00:03       29 阅读
  2. kafka发送消息

    2023-12-17 05:00:03       63 阅读
  3. springboot集成kafka | 分布式消息发布订阅系统

    2023-12-17 05:00:03       19 阅读
  4. Springboot整合Redis实现消息发布订阅

    2023-12-17 05:00:03       58 阅读
  5. 【根据消息类型实现订阅发布模型】

    2023-12-17 05:00:03       36 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2023-12-17 05:00:03       91 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2023-12-17 05:00:03       97 阅读
  3. 在Django里面运行非项目文件

    2023-12-17 05:00:03       78 阅读
  4. Python语言-面向对象

    2023-12-17 05:00:03       88 阅读

热门阅读

  1. AR游戏开发

    2023-12-17 05:00:03       53 阅读
  2. 【Linux应用编程笔记】输入设备

    2023-12-17 05:00:03       53 阅读
  3. Python学习笔记第七十六天(OpenCV视频应用)

    2023-12-17 05:00:03       55 阅读
  4. 第十七章 : Spring Boot 集成RabbitMQ(一)

    2023-12-17 05:00:03       50 阅读
  5. 求一个数组中的最大子序列和。

    2023-12-17 05:00:03       50 阅读
  6. python之画动态图 gif效果图

    2023-12-17 05:00:03       58 阅读