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

目录

一、版本信息

二、安装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.mfbz.cn/a/607911.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

一套C语言开发的 PACS影像系统源码 PACS系统的基本概念、系统业务流程

PACS系统基本概念 PACS,全称 Picture Archiving and Communication Systems,中文意为影像归档和通信系统。它是应用于医院影像科室的一种系统,主要任务是把日常产生的各种医学影像(包括核磁,CT,超声&#…

Faststone Capture:高效屏幕捕获神器评测【AI写作】

首先,这篇文章是基于笔尖AI写作进行文章创作的,喜欢的宝子,也可以去体验下,解放双手,上班直接摸鱼~ 按照惯例,先介绍下这款笔尖AI写作,宝子也可以直接下滑跳过看正文~ 笔尖Ai写作:…

Java毕设之基于SpringBoot的在线拍卖系统

运行环境 开发语言:java 框架:springboot,vue JDK版本:JDK1.8 数据库:mysql5.7(推荐5.7,8.0也可以) 数据库工具:Navicat11 开发软件:idea/eclipse(推荐idea) 系统详细设计 管理员功能模块 管理员登录,管理员通过输入用户名、密码、角色等信…

AI日报:干翻AI PC!苹果M4芯片首发;GoEnhance可生成粘土风格视频;DeepSeek-V2模型已在魔搭社区开源

欢迎来到【AI日报】栏目!这里是你每天探索人工智能世界的指南,每天我们为你呈现AI领域的热点内容,聚焦开发者,助你洞悉技术趋势、了解创新AI产品应用。 新鲜AI产品点击了解:AIbase - 智能匹配最适合您的AI产品和网站 1、干翻AI …

Zip压缩归档库-libzip介绍

1.简介 libzip是一个C库,用于读取、创建和修改zip格式的压缩文件。它支持从zip文件中读取、写入、添加和删除文件,还支持密码保护的zip文件。libzip是跨平台的,可以在多种操作系统上使用,包括Linux、Windows和macOS。 常用接口介…

【Ping】Windows 网络延迟测试 ping 、telnet、tcping 工具

ping 命令 属于网络层的ICMP协议,只能检查 IP 的连通性或网络连接速度, 无法检测IP的端口状态。 telnet telnet命令,属于应用层的协议,用于远程登录,也可用于检测IP的端口状态。但是功能有限,只能检测一时…

【OpenHarmony 实战开发】 做一个 loading加载动画

本篇文章介绍了如何实现一个简单的 loading 加载动画,并且在文末提供了一个 demo 工程供读者下载学习。作为一个 OpenHarmony 南向开发者,接触北向应用开发并不多。北向开发 ArkUI 老是改来改去,对笔者这样的入门选手来说学习成本其实非常大&…

网页主题自动适配:网页跟随系统自动切换主题

主题切换是网站设计中一个非常有趣的功能,它允许用户在多种预先设计的样式之间轻松切换,以改变网站的视觉表现。最常见的就是白天和黑夜主题的切换,用户可以根据自己的喜好进行设置。 除了让用户手动去切换主题外,如果能够让用户第…

Vue从入门到实战Day03

一、生命周期 1. 生命周期四个阶段 思考: ①什么时候可以发送初始化渲染请求? 答:越早越好,在创建阶段后 ②什么时候可以开始操作DOM? 答:至少DOM得渲染出来,在挂载阶段结束后。 Vue生命周…

Python从0到POC编写--实用小脚本02

爆破脚本: 爆破脚本也是我们经常使用的东西 这里就简单讲讲后台爆破脚本的编写吧 在编写之前,我们先通过访问网站去看看情况 首先我们可以先登录看看 输入账号 admin ,密码 12345 后 登录失败,提示 用户名或密码错误 在输入…

MultiBooth:文本驱动的多概念图像生成技术

在人工智能的领域,将文本描述转换为图像的技术正变得越来越先进。最近,一个由清华大学和Meta Reality Labs的研究人员组成的团队,提出了一种名为MultiBooth的新方法,它能够根据用户的文本提示,生成包含多个定制概念的图…

去除视频背景音乐或人物声音的4种方法,建议收藏

你是否曾想移除视频中令人分心的声音呢?对于需要裁剪声音或去除背景噪音的视频来说,消音是一种非常有用的技能。那么,视频怎么消除声音?看看下文就知道了。 方法一:使用 智优影 去除视频中的音频 在线转换工具不仅支持…

怎样选择IT外包公司?需要注意什么?

随着网络化、数字化、智能化快速发展,一部分企业成立自己的IT部门,负责各个科室的网络安全,大部分企业把网络安全、数据安全,外包给专业的IT外包公司,既提升了办公效率,企业又能把主要精力放在发展核心业务…

【C】语⾔内存函数--超详解

1. memcpy 使⽤和模拟实现 void * memcpy ( void * destination, const void * source, size_t num ); 函数memcpy从source的位置开始向后复制num个字节的数据到destination指向的内存位置。 这个函数在遇到 \0 的时候并不会停下来。 如果source和destination有任何的重叠&am…

Chrono下载管理器:提升下载体验,有效管理文件

名人说:莫愁千里路,自有到来风。 ——钱珝 创作者:Code_流苏(CSDN)(一个喜欢古诗词和编程的Coder😊) 目录 一、介绍二、下载安装1、Chrome应用商店(需科学)2、第三方直链下载 三、使…

nacos下载安装和nacos启动报错

nacos简介: Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service的首字母简称,一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。 Nacos 致力于帮助您发现、配置和管理微服务。Nacos 提供了一组简单易用的特性集,帮助您…

Spring底层入门(九)

boot的执行流程分为构造SpringApplication对象、调用run方法两部分 1、Spring Boot 执行流程-构造 通常我们会在SpringBoot的主启动类中写以下的代码: 参数一是当前类的字节码,参数二是main的args参数。 public class StartApplication {public static…

(一)Linux的vim编辑器的使用

一.vim编辑器 Vim 是从 vi 发展出来的一个文本编辑器。代码补全、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。简单的来说, vi 是老式的字处理器,不过功能已经很齐全了,但是还是有可以进步的地方。 vim 则可以说是程序开发者的一项很好用的工具。 二…

关于勒索攻击,绝大多数企业存在的三个认知误区

网络空间,有一个挥之不去的“幽灵”,它的名字就叫勒索攻击。 近年来,企业遭受勒索攻击的事件被频频曝光。就在不久前,国家安全部曝光了一起境外黑客组织对我国某高新科技企业实施勒索攻击的案例,该企业的相关信息化系统…

Window7镜像注入USB驱动,解决系统安装后无法识别USB

Window7镜像注入usb驱动 Window7镜像注入usb驱动方法一方法二 Window7镜像注入usb驱动 一般4代酷睿之后的主机需要安装usb驱动才能驱动usb,导致很多Windows原版镜像安装后无法识别usb键盘 方法一 1.直接采购PS2 接口键盘、PS2 接口鼠标 方法二 使用联想镜像注入…
最新文章