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

2024-05-13 07:52

本文主要是介绍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.12就是该Kafka所支持的Scala版本号,后面的2.6.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停止进程 ~~~

这篇关于Ubuntu22.04下安装kafka_2.12-2.6.0并运行简单实例的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/985113

相关文章

Win安装MySQL8全过程

《Win安装MySQL8全过程》:本文主要介绍Win安装MySQL8全过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Win安装mysql81、下载MySQL2、解压文件3、新建文件夹data,用于保存数据库数据文件4、在mysql根目录下新建文件my.ini

最详细安装 PostgreSQL方法及常见问题解决

《最详细安装PostgreSQL方法及常见问题解决》:本文主要介绍最详细安装PostgreSQL方法及常见问题解决,介绍了在Windows系统上安装PostgreSQL及Linux系统上安装Po... 目录一、在 Windows 系统上安装 PostgreSQL1. 下载 PostgreSQL 安装包2.

Python如何精准判断某个进程是否在运行

《Python如何精准判断某个进程是否在运行》这篇文章主要为大家详细介绍了Python如何精准判断某个进程是否在运行,本文为大家整理了3种方法并进行了对比,有需要的小伙伴可以跟随小编一起学习一下... 目录一、为什么需要判断进程是否存在二、方法1:用psutil库(推荐)三、方法2:用os.system调用

Maven如何手动安装依赖到本地仓库

《Maven如何手动安装依赖到本地仓库》:本文主要介绍Maven如何手动安装依赖到本地仓库问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、下载依赖二、安装 JAR 文件到本地仓库三、验证安装四、在项目中使用该依赖1、注意事项2、额外提示总结一、下载依赖登

Vue3组件中getCurrentInstance()获取App实例,但是返回null的解决方案

《Vue3组件中getCurrentInstance()获取App实例,但是返回null的解决方案》:本文主要介绍Vue3组件中getCurrentInstance()获取App实例,但是返回nu... 目录vue3组件中getCurrentInstajavascriptnce()获取App实例,但是返回n

Python运行中频繁出现Restart提示的解决办法

《Python运行中频繁出现Restart提示的解决办法》在编程的世界里,遇到各种奇怪的问题是家常便饭,但是,当你的Python程序在运行过程中频繁出现“Restart”提示时,这可能不仅仅是令人头疼... 目录问题描述代码示例无限循环递归调用内存泄漏解决方案1. 检查代码逻辑无限循环递归调用内存泄漏2.

如何在Mac上安装并配置JDK环境变量详细步骤

《如何在Mac上安装并配置JDK环境变量详细步骤》:本文主要介绍如何在Mac上安装并配置JDK环境变量详细步骤,包括下载JDK、安装JDK、配置环境变量、验证JDK配置以及可选地设置PowerSh... 目录步骤 1:下载JDK步骤 2:安装JDK步骤 3:配置环境变量1. 编辑~/.zshrc(对于zsh

SQL表间关联查询实例详解

《SQL表间关联查询实例详解》本文主要讲解SQL语句中常用的表间关联查询方式,包括:左连接(leftjoin)、右连接(rightjoin)、全连接(fulljoin)、内连接(innerjoin)、... 目录简介样例准备左外连接右外连接全外连接内连接交叉连接自然连接简介本文主要讲解SQL语句中常用的表

深入理解Apache Kafka(分布式流处理平台)

《深入理解ApacheKafka(分布式流处理平台)》ApacheKafka作为现代分布式系统中的核心中间件,为构建高吞吐量、低延迟的数据管道提供了强大支持,本文将深入探讨Kafka的核心概念、架构... 目录引言一、Apache Kafka概述1.1 什么是Kafka?1.2 Kafka的核心概念二、Ka

如何在pycharm安装torch包

《如何在pycharm安装torch包》:本文主要介绍如何在pycharm安装torch包方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录在pycharm安装torch包适http://www.chinasem.cn配于我电脑的指令为适用的torch包为总结在p