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

news2024/9/22 17:22:04

文章目录

    • 一、Kafka概述
    • 二、实验环境
    • 三、实验准备
    • 四、实验目的
    • 五、实验步骤
      • 5.1、创建Kafka Topic
      • 5.2、Kafka消息发布
      • 5.3、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原理得时候其实蛮痛苦得,因为很复杂。但是实际开发中用起来是很方便的,这个实验就是这样的。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1316141.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

算法Day33 不会算数的小明

不会算数的小明 Description 现在有一个数字startValue,小明不会算数,只会以下两种操作: 双倍(Double):将数字乘2; 递减(Decrement):将数字减1。 给定两个整…

Python3开发笔记(简洁版)

一、开发编辑器 1. pycharm 2. IDLE(Python自带软件) 方法:Microsoft Store搜索 Python 安装 二、数据类型 Python中有以下几种主要的数据类型: 数字(Numbers)、 字符串(Strings&#xff09…

linux(centos7)mysql8.0主从集群搭建(两台机器)

docker安装:(转载)centos7安装Docker详细步骤(无坑版教程)-CSDN博客 环境信息 主数据库服务器:192.168.1.10 从数据库服务器:192.168.1.11 1. mysql8.0镜像下载 docker pull mysql:8.0.23 2.创建docke…

CMS—评论功能设计

一、需求分析 1.1、常见行为 1.敏感词过滤 2.新增评论(作品下、评论下) 3.删除评论(作品作者、上级评论者、本级作者) 4.上级评论删除关联下级评论 5.逻辑状态变更(上线、下线、废弃...) 6.上逻辑状态变更…

图片的批量建码怎么做?一图一码的制作方法

在使用图片展示内容时,经常会有同一类型的图片信息是有区别的,如果需要将每张图片批量生成二维码图片,那么出了一张一张去制作之外,有没有能够一键批量建码的功能可以解决这个问题呢?下面来给大家分享一下图片批量建码…

社交网络分析2(下):社交网络情感分析的方法、挑战与前沿技术

社交网络分析2(下):社交网络情感分析的方法、挑战与前沿技术 写在最前面7. 词嵌入(word embedding)的主要目的是什么?结合某方法简要地说明如何实现词嵌入。主要目的实现方法示例:GloVe案例分析…

透明PP专用UV胶水粘接PP材料高效率的提升生产效率

使用透明PP专用UV胶水粘接PP材料是提高生产效率的方法。以下方法,可以助您在生产中实现高效的PP材料粘接: ​1.选用合适的透明PP专用UV胶水 选择经过专门设计用于透明PP的UV胶水。这种胶水具有透明性,能保证粘接后的清晰度和外观。 2.自动…

Qt中槽函数在那个线程执行的探索和思考

信号和槽是Qt的核心机制之一,通过该机制大大简化了开发者的开发难度。信号和槽属于观察者模式(本质上是回调函数的应用)。是函数就需要考虑其是在那个线程中执行,本文讨论的就是槽函数在那个线程中执行的问题。 目录 1. connect…

关于负载和驱动能力的问题总结

这两天重新接触到了驱动能力这个说法,之前也听过,但是一直不理解是怎么回事儿,也就没有深究,现在想来,这里面还是有点门道的。 驱动能力,说的是什么呢?应该就是带载能力,而带载能力&…

热烈庆祝安徽普朗膜技术有限公司参加2024济南生物发酵展

公司自2004年注册成立以来主要业务领域主要有以乳酸、氨基酸、抗生素为主的发酵液的提取分离;醋、酱油发酵产品的产品升级,果汁、茶饮料等天然产物提取的除菌和澄清过滤;低聚木糖、低聚果糖、果葡糖浆、高果糖浆等过滤、纯化、浓缩&#xff1…

RRC下的NAS层

无线资源控制(Radio Resource Control,RRC),又称为无线资源管理(RRM)或者无线资源分配(RRA),是指通过一定的策略和手段进行无线资源管理、控制和调度,在满足服…

D34|不同路径

62.不同路径 初始思路: 1)确定dp数组以及下标的含义: dp[i][i]存放到第i1行和第i1列的方法数 2)确定递推公式: dp[i][i] dp[i -1][i] dp[i][i-1] 3)dp数组如何初始化 第0行是1; 第0列是1&a…

关于文件操作---C语言

引言 关于文件,想必大家或多或少都会有些了解,文件可以帮我们储存数据,不同格式的文件可以储存不同类型的数据,也可以将文件中的数据用不同的方式打开。电脑中的文件,是放在硬盘上的。在我们编写代码并运行的时候&…

KAKFA实践零碎记录

这里写目录标题 1 内存泄露2 生产者报错 1 内存泄露 错误信息 反复执行:创建消费者->关闭消费者后,内存缓慢上升且GC不能回收内存 错误原因 关闭消费者需要执行KafkaConsumer#close()函数 public void close() {this.close(Duration.ofMillis(30000…

12.12_黑马数据结构与算法笔记Java

目录 079 优先级队列 无序数组实现 080 优先级队列 有序数组实现 081 优先级队列 堆实现 1 082 优先级队列 堆实现 2 083 优先级队列 堆实现 3 084 优先级队列 e01 合并多个有序链表1 084 优先级队列 e01 合并多个有序链表2 085 阻塞队列 问题提出 086 阻塞队列 单锁实…

double DQN 跑 Pendulum-v1

gym-0.26.1 Pendulum-v1 环境详细信息 double DQN 实验环境 是为了体现 double DQN对高估的缓解, 因为 Pendulum-v1 reward最大是为0,可以有明显的对比。 相关论文 Deep Reinforcement Learning with Double Q-Learning 对动手深度强化学习里的代码做了一些修改。…

Java连接数据库实现用户登录和注册功能

目录 需求内容如下 示例代码 数据库studb Java代码 效果图 需求内容如下 1,创建数据库studb 2,库中添加用户表userinfo,包含如下字段 用户id ,用户名,用户密码,用户权限 (数据类型和约束自己定义&#xff09…

SpringBoot2—开发实用篇2

目录 数据层解决方案 SQL NoSQL SpringBoot整合Redis SpringBoot整合MongoDB SpringBoot整合ES 数据层解决方案 SQL 回忆一下之前做SSMP整合的时候数据层解决方案涉及到了哪些技术?MySQL数据库与MyBatisPlus框架,后面又学了Druid数据源的配置&am…

TrustGeo代码理解(一)main.py

代码链接:https://github.com/ICDM-UESTC/TrustGeo 一、导入各种模块和数据库 # -*- coding: utf-8 -*- import torch.nnfrom lib.utils import * import argparse, os import numpy as np import random from lib.model import * import copy from thop import profile imp…

文本聚类——文本相似度(聚类算法基本概念)

一、文本相似度 1. 度量指标: 两个文本对象之间的相似度两个文本集合之间的相似度文本对象与集合之间的相似度 2. 样本间的相似度 基于距离的度量: 欧氏距离 曼哈顿距离 切比雪夫距离 闵可夫斯基距离 马氏距离 杰卡德距离 基于夹角余弦的度量 公式…