Ubuntu22.04下安装kafka_2.12-2.6.0并运行简单实例

news2025/1/4 19:37:26

目录

一、版本信息

二、安装Kafka

1. 将Kafka安装包移到下载目录中

2. 安装Kafka并确保hadoop用户对Kafka目录有操作权限

三、启动Kafka并测试Kafka是否正常工作

1. 启动Kafka

2. 测试Kafka是否正常工作


一、版本信息

虚拟机产品:VMware® Workstation 17 Pro   虚拟机版本:17.0.0 build-20800274

ISO映像文件:ubuntukylin-22.04-pro-amd64.iso

Hadoop版本:Hadoop 3.1.3

JDK版本:Java JDK 1.8

Spark版本:Spark 3.2.0

Kafka版本:kafka_2.12-2.6.0

前面的2.11就是该Kafka所支持的Scala版本号,后面的0.10.1.0是Kafka自身的版本号

这里有我放的百度网盘下载链接,读者可以自行下载:

链接:https://pan.baidu.com/s/121zVsgc4muSt9rgCWnJZmw 
提取码:wkk6

也可去Kafka官网进行下载:Apache Kafka

注意:其中的ISO映像文件为ubuntukylin-16.04.7版本的而不是22.04版本,22.04版本内存过大无法上传,见谅!!!

附上Ubuntu Kylin(优麒麟)官网下载:优麒麟 (ubuntukylin.com)        读者可以前去官网下载ISO映像文件


 现附上相关资料,读者可通过这些资料来查看自己的Spark与其他组件(例如JDK,Hadoop,Yarn,Hive,Kafka等)的兼容版本、Spark Streaming + Kafka 集成指南、Kafka清华源镜像下载地址、Kafka官网、Kafka官网下载页面等:

1. 查看Spark与Hadoop等其他组件的兼容版本

查看Spark与Hadoop等其他组件的兼容版本 - 技术研究与问题解决 - 博客园 (cnblogs.com)icon-default.png?t=N7T8https://www.cnblogs.com/liuys635/p/12371793.html

2. Github中Spark开源项目地址

apache/spark: Apache Spark - A unified analytics engine for large-scale data processing (github.com)icon-default.png?t=N7T8https://github.com/apache/spark3. Spark Streaming + Kafka 集成指南

Spark Streaming + Kafka Integration Guide (Kafka broker version 0.10.0 or higher) - Spark 3.2.0 Documentation (apache.org)icon-default.png?t=N7T8https://spark.apache.org/docs/3.2.0/streaming-kafka-0-10-integration.html4. Kafka清华源镜像下载地址

Index of /apache/kafka (tsinghua.edu.cn)icon-default.png?t=N7T8https://mirrors.tuna.tsinghua.edu.cn/apache/kafka/

5. Kafka官网

Apache Kafkaicon-default.png?t=N7T8https://kafka.apache.org/

6. Kafka官网下载页面

Apache Kafkaicon-default.png?t=N7T8https://kafka.apache.org/downloads


二、安装Kafka

1. 将Kafka安装包移到下载目录中

将物理机上下载的Kafka安装包拖拽到读者虚拟机Ubuntu系统家目录中的下载目录中(安装包内已经附带zookeeper,不需要额外安装zookeeper):

2. 安装Kafka并确保hadoop用户对Kafka目录有操作权限

sudo tar -zxf ~/下载/kafka_2.12-2.6.0.tgz -C /usr/local
cd /usr/local
sudo mv kafka_2.12-2.6.0 kafka
sudo chown -R hadoop ./kafka    # 此处的 hadoop 为你的用户名

sudo tar -zxf ~/下载/kafka_2.12-2.6.0.tgz -C /usr/local

  • 使用 sudo 权限解压缩并解包 Kafka 压缩包文件 kafka_2.12-2.6.0.tgz
  • -zxf 参数表示使用 gzip 解压缩,并且是解包操作
  • ~/下载/kafka_2.12-2.6.0.tgz 是 Kafka 压缩包的路径
  • -C /usr/local 指定了解压缩后的文件应该放置的目标路径为 /usr/local

cd /usr/local

  • 切换当前工作目录到 /usr/local

sudo mv kafka_2.12-2.6.0 kafka

  • 使用 sudo 权限将 Kafka 解压后的文件夹 kafka_2.12-2.6.0 重命名为 kafka

sudo chown -R hadoop ./kafka

  • 使用 sudo 权限递归地更改 kafka 文件夹及其所有子文件和子文件夹的所有者为 hadoop 用户
  • -R 参数表示递归地更改权限

 至此,Kafka安装完成,下面在Ubuntu系统环境下测试简单的实例

三、启动Kafka并测试Kafka是否正常工作

1. 启动Kafka

打开第一个终端,输入下面命令启动Zookeeper服务:

cd /usr/local/kafka
./bin/zookeeper-server-start.sh config/zookeeper.properties

千万不要关闭这个终端窗口,一旦关闭,Zookeeper服务就停止了(Kafka工作运行完毕后不再使用时再关闭)

打开第二个终端,然后输入下面命令启动Kafka服务:

cd /usr/local/kafka
./bin/kafka-server-start.sh config/server.properties

千万不要关闭这个终端窗口,一旦关闭,Kafka服务就停止了(Kafka工作运行完毕后不再使用时再关闭)

成功启动所有服务后,读者将拥有一个基本的 Kafka 环境,可供使用。

2. 测试Kafka是否正常工作

主题(Topics)类似于文件系统中的文件夹,事件(events)是该文件夹中的文件。因此,在编写第一个事件之前,必须创建一个主题。

再打开第三个终端,然后输入下面命令创建一个自定义名称为“wordsendertest”的Topic主题):

cd /usr/local/kafka
# 创建一个名为 wordsendertest 的 Kafka 主题
./bin/kafka-topics.sh --create --topic wordsendertest --bootstrap-server localhost:9092 --replication-factor 1 --partitions 1
# 列出所有主题
./bin/kafka-topics.sh --list --bootstrap-server localhost:9092
# 描述特定主题的细节
./bin/kafka-topics.sh --describe --topic wordsendertest --bootstrap-server localhost:9092
  • kafka-topics.sh: 指定用于创建、列出和管理 Kafka 主题的脚本
  • --create:表示创建一个新的主题
  • --topic wordsendertest:指定要创建的主题名称,这里是 wordsendertest
  • --bootstrap-server localhost:9092:指定 Kafka 服务器的地址和端口。此处的localhost:9092表示本地的 Kafka 服务器,默认端口是9092
  • --replication-factor 1:设置副本因子为 1,意味着数据只有一个副本(不容错)
  • --partitions 1:设置分区数为 1,意味着只有一个分区
  • --describe:用于获取某个主题的详细信息

Kafka客户端通过网络与Kafka代理进行通信,以写入(或读取)事件。一旦收到事件,直到需要事件,代理程序都将以持久和容错的方式存储事件,甚至永远。

下面用生产者(Producer)来产生一些数据,在主题中写入一些事件。默认情况下,输入的每一行都将导致一个单独的事件写入主题。请在第三个终端(记作“数据源终端”)内继续输入下面命令:

cd /usr/local/kafka
./bin/kafka-console-producer.sh --topic wordsendertest --bootstrap-server localhost:9092
  • kafka-console-producer.sh:这是 Kafka 提供的一个用于生产者的控制台工具脚本
  • --topic wordsendertest:指定要创建的主题名称,这里是 wordsendertest
  • --bootstrap-server localhost:9092:指定 Kafka 服务器的地址和端口。此处的localhost:9092表示本地的 Kafka 服务器,默认端口是9092

当执行这个命令后,控制台会等待读者输入消息。每输入一行消息,它就会将该消息发送到指定的主题中。读者可以通过按下 Ctrl+C 来退出生产者控制台。

上面命令执行后,就可以在当前终端内用键盘输入一些英文单词(也可以等消费者启用后再输入)

现在可以启动一个消费者(Consumer),来查看刚才生产者产生的数据。请另外打开第四个终端,输入下面命令:

cd /usr/local/kafka
./bin/kafka-console-consumer.sh --topic wordsendertest --from-beginning --bootstrap-server localhost:9092
  • kafka-console-consumer.sh:这是 Kafka 提供的一个用于消费者的控制台工具脚本
  • --topic wordsendertest:指定要创建的主题名称,这里是 wordsendertest
  • --from-beginning: 这个选项表示从该主题的起始位置开始消费消息。如果不指定这个选项,消费者将只会消费自启动后发布的消息
  • --bootstrap-server localhost:9092:指定 Kafka 服务器的地址和端口。此处的localhost:9092表示本地的 Kafka 服务器,默认端口是9092

执行这个命令后,控制台将开始从 wordsendertest 主题中消费消息,并将其显示在控制台上。读者可以通过按下 Ctrl+C 来退出消费者控制台。

因为事件是持久存储在Kafka中的,所以它们可以被任意多次读取,也可以被任意多的消费者读取。可以通过打开另一个终端会话并再次运行该命令来验证这一点

  

-> 实例运行结束后可以Ctrl+ZCtrl+C停止进程 ~~~

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

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

相关文章

javaWeb快速部署到tomcat阿里云服务器

目录 准备 关闭防火墙 配置阿里云安全组 点击控制台 点击导航栏按钮 点击云服务器ECS 点击安全组 点击管理规则 点击手动添加 设置完成 配置web服务 使用yum安装heepd服务 启动httpd服务 查看信息 部署java通过Maven打包好的war包项目 Maven打包项目 上传项目 …

三勾软件 / 三勾点餐系统门店系统,java+springboot+vue3

项目介绍 三勾点餐系统基于javaspringbootelement-plusuniapp打造的面向开发的小程序商城,方便二次开发或直接使用,可发布到多端,包括微信小程序、微信公众号、QQ小程序、支付宝小程序、字节跳动小程序、百度小程序、android端、ios端。 在…

科技云报道:从亚运到奥运,大型国际赛事共赴“云端”

科技云报道原创。 “广播电视转播技术拯救了奥运会”前奥委会主席萨马兰奇这句话广为流传。 奥运会、世界杯、亚运会这样的全球大型体育赛事不仅是体育竞技的盛宴,也是商业盛宴,还是技术与人文的融合秀。随着科技的进步,技术在体育赛事中扮…

当前主机使用的磁盘以及带宽情况

今日看到有用户在论坛留言反馈他买了Hostease Linux虚拟主机,想要查看当前主机使用的磁盘以及带宽情况,但是不知道如何查看。因为这边也是对于Hostease的虚拟主机产品是有所了解的,知道他们都是默认带管理面板的操做起来很方便的,…

聊天框 - 微信加载历史数据的效果原来这样实现的

原文:https://juejin.cn/post/7337114587123335180?searchId20240509192958AF7D129567F92AD7E083 公众号:程序员白特,欢迎一起交流学习~ 前言 我记得2021年的时候做过聊天功能,那时业务也只限微信小程序 那时候的心路历程是&am…

流畅的python-学习笔记_前言+第一部分

前言 标准库doctest 测试驱动开发:先写测试,推动开发 obj[key]实际调用实例的__getitem__方法 python数据模型 特殊方法 特殊方法一般自己定义,供py解释器调用,不推荐自己手动调用。 对于py内置类型,调用特殊方…

什么是静态住宅代理IP?

静态住宅代理(也称为静态ISP代理)是最流行的代理类型之一。它们也是隐藏您的身份并保持在线匿名的最佳方法之一。您为什么要使用住宅代理而不是仅使用常规代理服务?下面我具体分享。 一、什么是静态住宅代理? 首先,我…

986: 哈夫曼译码

解法&#xff1a;先把代码粘贴到编译器&#xff08;vs&#xff09;上&#xff0c;分享一个一键去除空白行的操作&#xff0c;ctrlf调出查找窗口&#xff0c;输入查找(?<\r\n)\r\n&#xff0c;选择正则表达式&#xff0c;替换就可以发现会去掉一百多行空白行。 本题只需要利…

FileLink文件摆渡技术解析:如何实现数据的安全摆渡与隔离

文件摆渡系统&#xff0c;这一现代科技名词&#xff0c;蕴含着深刻的科技内涵和广泛的应用前景。简而言之&#xff0c;文件摆渡系统是一种高效、安全的文件传输工具&#xff0c;它能够在不同的网络环境之间实现文件的快速、稳定传输。在今天的数字化时代&#xff0c;随着数据量…

2024年抖音小店最新起店玩法,比你报的上万课程都有用!

大家好&#xff0c;我是电商糖果 刚开店的朋友&#xff0c;一定会遇到出单难&#xff0c;店铺没有流量的问题。 自己在网上找一堆教程&#xff0c;或者花高价去报课程。 有的朋友比较幸运&#xff0c;遇到了好的领路人&#xff0c;但是大部分朋友还是没有那么幸运的。 糖果…

【福利】思科CCNP考试介绍(附CCNP题库下载)

网络行业有两个大神级别的证书&#xff1a;思科认证和华为认证&#xff0c;目前相比思科认证&#xff0c;华为认证在国内更加吃香哦&#xff0c;如果你在国内就业或发展考虑建议考华为的。不过还是有少部分在外企或有出国计划的IT人员考思科的。 那今天小微就来给大家介绍下思科…

Python深度学习基于Tensorflow(7)视觉处理基础

文章目录 视觉基础图像基础卷积层&#xff1a;图像的中全连接层的优化卷积核tf.keras中的卷积函数池化层 现代经典网络DenseNet 数据增强 图像的本质是一个矩阵&#xff0c; 矩阵中的一个点就是一个像素&#xff0c;如果像素大小为 1000 1000 1000 \times 1000 10001000&…

sqlx执行案例

SQLx简介 SQLx是Rust语言中的一个异步SQL数据库连接库&#xff0c;它支持多种数据库&#xff0c;如PostgreSQL、MySQL和SQLite。SQLx提供了简单的API和异步执行查询的能力&#xff0c;使得Rust程序员可以轻松地与数据库交互1。 本章节以PostgreSQL为例。 目录结构 cargo.tom…

OpenCV4.8 VS2019 MFC编程出现的诡异现象

OpenCV4.8及OpenCV4.4 VS2019MFC编程在调用imred&#xff08;&#xff09;函数时&#xff0c;debug X64试运行没问题。 release X64试运行时出现下面错误。 void CEasyPictureDlg::OnBnClickedOpen() {CFileDialog fdlg(TRUE, NULL, 0, OFN_HIDEREADONLY | OFN_OVERWRITEPROMP…

苹果iPad M4:Console级别图形和AI强大功能

苹果iPad M4&#xff1a;Console级别图形和AI强大功能 Apple近日发布了最新的M4芯片&#xff0c;旨在为iPad Pro系列带来明显的性能提升和电池续航时间延长。在本篇报道中&#xff0c;我们将详细介绍M4芯片的特点、性能改进和为创意专业人士带来的影响。 M4芯片的强大功能 …

初学者理解Transformer,本文is all you need

要问现在AI领域哪个概念最热&#xff0c;必然是openAI推出chatGPT之后引发的大模型。然而这项技术的起源&#xff0c;都来自一篇google公司员工的神作“Attention Is All You Need”——本文标题也是一种致敬^_^&#xff0c;目前已有近12万的引用(还在增长)。 在“Attention Is…

独家新闻:CSCWD 2024会议现场即时报道 天津之眼夜色如梦

会议之眼 快讯 备受瞩目的第27届国际计算机协同计算与设计大会&#xff08;CSCWD 2024&#xff09;于2024年5月8日在中国天津梅江中心皇冠假日酒店盛大开幕&#xff01;来自世界各地的专家学者齐聚一堂&#xff0c;共同探讨和分享在智能设计、制造和协同工作领域的最新研究成果…

EasyExcel导出带自定义下拉框数据的Excel模板

文章目录 前言&#x1f4dd;一、导入依赖二、创建导出工具1.创建模板实体类2.创建自定义注解3.添加动态选择接口4.EasyExcelUtil工具类 三、导出、导入Excel接口1.导出接口2.导入接口3.导出结果 总结 前言&#x1f4dd; 在项目中导入excel时需要通过下拉框选择值传入&#xff…

2024 VMware VCP一条龙通关-送题库

VMware VCP-DCV 2024&#xff08;2V0-21.23&#xff09;认证考试&#xff0c;2024年可高分通过。 1.5. An administrator has a host profile named Standard-Config. The administrator wants to change the other host profiles to use only the storage configuration setti…

ICode国际青少年编程竞赛- Python-2级训练场-for循环练习2

ICode国际青少年编程竞赛- Python-2级训练场-for循环练习2 1、 for i in range(5):Dev.step(9 - i * 2)Dev.turnLeft()2、 for i in range(3):Spaceship.step(i 1)Spaceship.turnRight()Spaceship.step(i 1)Spaceship.turnLeft()3、 for i in range(4):Dev.step(10 - i…