Ubuntu22.04下安装kafka_2.11-0.10.1.0并运行简单实例

目录

一、版本信息

二、安装Kafka

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

2.下载Spark并确保hadoop用户对Spark目录有操作权限

三、启动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.11-0.10.1.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清华源镜像下载地址等:

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/


二、安装Kafka

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

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

2.下载Spark并确保hadoop用户对Spark目录有操作权限

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

sudo tar -zxf ~/下载/kafka_2.11-0.10.1.0.tgz -C /usr/local

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

cd /usr/local

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

sudo mv kafka_2.11-0.10.1.0/ ./kafka

  • 使用 sudo 权限将 Kafka 解压后的文件夹 kafka_2.11-0.10.1.0 重命名为 kafka
  • ./kafka 意味着将文件夹移动到当前目录下,也就是 /usr/local 目录

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工作运行完毕后不再使用时再关闭)

2.测试Kafka是否正常工作

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

cd /usr/local/kafka
./bin/kafka-topics.sh  --create  --zookeeper  localhost:2181 --replication-factor  1  --partitions  1  --topic  wordsendertest
#可以用list列出所有创建的Topic,验证是否创建成功
./bin/kafka-topics.sh  --list  --zookeeper  localhost:2181
  • kafka-topics.sh:Kafka 提供的命令行工具,用于管理 Kafka 主题(topics)
  • --create:指示命令要创建一个新的主题
  • --zookeeper localhost:2181:指定ZooKeeper 的连接地址,Kafka 使用 ZooKeeper 来管理集群的状态信息。在此,localhost:2181 表示 ZooKeeper 运行在本地主机上,端口号为2181
  • --replication-factor 1:指定主题的副本因子(replication factor),即该主题的每个分区的数据将被复制到几个副本中。这里设置为1,表示每个分区只有一个副本
  • --partitions 1:指定主题的分区数。分区用于将主题的数据分散存储和处理,可以提高性能和扩展性。这里设置为1,表示只有一个分区
  • --topic dblab:指定要创建的主题的名称,这里命名为 "dblab"。 在本地主机上创建一个名为 "dblab" 的 Kafka 主题,该主题具有1个副本因子和1个分区

下面用生产者(Producer)来产生一些数据,请在当前终端(记作“数据源终端”)内继续输入下面命令:

./bin/kafka-console-producer.sh  --broker-list  localhost:9092 --topic  wordsendertest
  • - kafka-console-producer.sh: Kafka 提供的命令行工具,用于在控制台上向 Kafka 主题发送消息
  • --broker-list localhost:9092:指定Kafka 集群的 broker 地址列表,用于指定消息要发送到哪个 Kafka 集群。在此,localhost:9092 表示 Kafka 集群的一个 broker 运行在本地主机上,端口号为9092
  • --topic dblab:指定要发送消息的目标主题,这里是 "dblab"。 在本地主机上向名为 "dblab" 的 Kafka 主题发送消息

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

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

cd /usr/local/kafka
./bin/kafka-console-consumer.sh  --zookeeper  localhost:2181 --topic  wordsendertest  --from-beginning
  • - kafka-console-consumer.sh:Kafka 提供的命令行工具,用于在控制台上消费 Kafka 主题的消息
  • --zookeeper localhost:2181:指定了 ZooKeeper 的连接地址,Kafka 使用 ZooKeeper 来管理集群的状态信息。在此,localhost:2181 表示 ZooKeeper 运行在本地主机上,端口号为2181。尽管在较新的 Kafka 版本中,已经不再需要指定 ZooKeeper 地址,而是直接连接到 Kafka broker,但是一些旧版本的命令仍然需要指定
  • --topic dblab:指定要消费消息的目标主题,这里是 "dblab"
  • --from-beginning:指示消费者从该主题的起始位置开始消费消息,而不是从当前最新的消息开始消费。 从名为 "dblab" 的 Kafka 主题消费消息,并从起始位置开始消费

可以看到,屏幕上会显示出如下结果,也就是刚才在另外一个终端里面输入的内容(启动消费者后亦可在生产者中输入内容,消费者终端也可查看到)

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

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

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

相关文章

软件测试实战项目(含电商、银行、APP等)

🍅 视频学习:文末有免费的配套视频可观看 🍅 关注公众号【互联网杂货铺】,回复 1 ,免费获取软件测试全套资料,资料在手,涨薪更快 今天给大家带来几个软件测试项目的实战总结及经验,适…

初学python记录:力扣1652. 拆炸弹

题目: 你有一个炸弹需要拆除,时间紧迫!你的情报员会给你一个长度为 n 的 循环 数组 code 以及一个密钥 k 。 为了获得正确的密码,你需要替换掉每一个数字。所有数字会 同时 被替换。 如果 k > 0 ,将第 i 个数字用…

JUC下的ScheduledThreadPoolExecutor详解

ScheduledThreadPoolExecutor是Java并发编程框架中一个强大且灵活的线程池实现,专为定时与周期性任务而设计。作为ThreadPoolExecutor的子类,它不仅继承了线程池管理的高效与灵活性,还内置了基于优先级队列的延迟任务调度机制,支持…

基于模糊PI控制算法的龙格库塔CSTR模型控制系统simulink建模与仿真

目录 1.课题概述 2.系统仿真结果 3.核心程序与模型 4.系统原理简介 5.完整工程文件 1.课题概述 基于模糊PI控制算法的龙格库塔CSTR模型控制系统simulink建模与仿真。基于模糊PI控制算法的龙格-库塔(Runge-Kutta, RK)连续搅拌釜反应器(Co…

景源畅信电商:抖音小店需要请专业人员装修店铺吗?

在数字营销的海洋中,抖音小店如一艘航船,装修得当才能吸引顾客登船。那么,小店是否需要请专业人员来装修呢?答案是肯定的。 一、视觉冲击力是关键 专业设计师擅长运用色彩、布局与图像创造出强烈的视觉冲击力,这对于抓住用户的注…

2024vue官方生态最全整理

👩 个人主页:程序媛夏天 🙋‍♂️ 作者简介:前端领域新星创作者、CSDN内容合伙人、自媒体职场博主,专注于前端各领域技术,成长的路上共同学习共同进步,一起加油呀! ✨系列专栏:前端面试宝典、JavaScript进阶、vue实战 📢 资料领取:前端进阶资料以及文中源码可以在…

【四、性能测试】性能测试基础与几个重要的概念

你好,我是山茶,一个95后在职程序员。也是一个目标跟 1000 程序员探索出 AI 测试 副业之路的 bro,欢迎跟我一起沟通交流! 一、什么是性能测试? 性能测试是通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来…

【Linux——Centos7安装RabbitMQ】 RabbitMQ无法连接

到这一步是基本已经装好了,现在是在开放端口,我这个报错是因为我的防火墙是处于关闭状态,所以在开放端口时会报防火墙为运行,把防火墙打开,在开放端口,就可以访问到了 重启防火墙: systemctl …

MATLAB的Bar3函数调节渐变色

一. colormap函数 可以使用colormap函数: t1=[281.1,584.6, 884.3,1182.9,1485.2; 291.6,592.6,896,1197.75,1497.33; 293.8,596.4,898.6,1204.4,1506.4; 295.8,598,904.4,1209.0,1514.6];bar3(t1,1) set(gca,XTickLabel,{300,600,900,1200,1500},FontSize,10) set(gca,YTic…

常见C语言基础题说明一

一. 简介 整理一些C语言常见的基础笔试题。 假如系统是 32位计算机的情况下,字节对齐方式为 4字节对齐。计算如下题目。 二. 常见C语言基础笔试题 1. 计算 sizeof(数组名), sizeof(指针),strlen(数组名) 大小 计算如下的变量的值&…

npm无法安装node-sass 的问题

安装 node-sass 的问题呈现:4.9.0版本无法下载 Downloading binary from https://github.com/sass/node-sass/releases/download/v4.9.0/win32-x64-72_binding.node Cannot download "https://github.com/sass/node-sass/releases/download/v4.9.0/win32-x64-…

技术速递|介绍 .NET MAUI 社区工具包 v8 :包含 TouchBehavior 支持!

作者:Gerald Versluis 排版:Alan Wang .NET MAUI 社区工具包团队很自豪地向您介绍 .NET MAUI 社区工具包的第 8 版! 在这个最新的主要版本中,我们为您带来了备受期待的 TouchBehavior(以前称为 TouchEffect&#xff0…

MM模块学习一(供应商创建,物料类型的定义及功能)

物料管理流程: 源头:采购需求->采购申请 MRP:物料需求计划。运行物料需求计划的结果,根据物料的性质来判断是外购(采购申请)或者是生产(计划订单->生产订单)。 采购申请&am…

在Linux中安装Docker

如果之前安装过旧版本的 Docker,可以使用下面命令卸载: yum remove docker \docker-client \docker-client-latest \docker-common \docker-latest \docker-latest-logrotate \docker-logrotate \docker-selinux \docker-engine-selinux \docker-engine…

500的项目研发成本2000?

上个月接了一个小程序的二开项目,功能不多就2个诉求:调整首页数据排序规则,帖子详情增加一个海报,报了一个我认为还比较合适的价格500。 当我拿到代码的那一刻有点小害怕,因为这个客户的之前合作过一次,项…

17.接口自动化学习-日志

1.日志输出渠道 &#xff08;1&#xff09;文件格式 xx.log &#xff08;2&#xff09;控制台输出 2.日志级别 debug<info<warnning<error<critical 3.代码实现 from utils.handle_path import log_path import logging import datetime def logger(fileLogTr…

数值计算方法——大题题型总结

目录 一、绝对误差限、相对误差限 1.1 例题 1.2 解题套路 1.3 题解 二、敛散性、收敛速度 2.1 例题 2.2 解题套路 2.3 题解 三、牛顿迭代法 3.1 例题 3.2 解题套路 3.3 题解 四、割线法 4.1 例题 4.2 解题套路 ​4.3 题解 五、列主元素消去法 5.1 例题 5.…

Ansible——playbook编写

一、简介 1.什么是playbook Ansible Playbook 是设定自动化任务的一种蓝图&#xff0c;可在无需人工干预或有限干预的前提下执行复杂的 IT 操作。Ansible Playbook 对一组或一类共同构成 Ansible 清单的主机执行。 Ansible Playbook 本质上是一些框架&#xff0c;是一些预先编…

多线程基础知识(全面):创建线程、线程状态如何变化、wait()、notify()、sleep()、停止线程

文章目录 一、创建线程的四种方式1.1 继承Thread类1.2 实现runnable接口1.3 实现Callable接口1.4 线程池创建线程1.5 补充&#xff1a;runnable、callable都可以创建线程&#xff0c;有什么区别&#xff1b;run()和 start()有什么区别 二、线程包括哪些状态、状态之间如何变化2…

书单 | 6本AI领域名家名作,大模型时代,趁风而起!

–文末赠书– 大模型时代&#xff0c;想抓住风口吗&#xff1f; 本期书单就来分享6本AI领域名家名作&#xff0c;给大家把大模型时代那些事儿讲清楚&#xff01; 放心&#xff0c;入门的同学也可以从最基础的学起~~ 快来看看有哪些书吧…… 01 ▊《多模态大模型&#xff1…