Windows下安装Kafka(图文记录详细步骤)

news2024/11/23 23:35:15

Windows下安装Kafka

  • Kafka简介
  • 一、Kafka安装前提
    • 安装Kafka之前,需要安装JDK、Zookeeper、Scala。
    • 1.1、JDK安装(version:1.8)
      • 1.1.1、JDK官网下载
      • 1.1.2、JDK网盘下载
      • 1.1.3、JDK安装
    • 1.2、Zookeeper安装
      • 1.2.1、Zookeeper官网下载
      • 1.2.2、Zookeeper网盘下载
      • 1.2.3、Zookeeper安装
    • 1.3、Scala安装(version:2.12)
      • 1.3.1、Scala官网下载
      • 1.3.2、Scala网盘下载
      • 1.3.3、Scala安装
  • 二、Kafka安装(version:2.12-3.5.1)
    • 2.1、Kafka官网下载
    • 2.2、Kafka网盘下载
    • 2.3、Kafka安装
      • 2.3.1、解压Kafka安装包到安装目录
      • 2.3.2、Kafka安装目录下新建目录logs
      • 2.3.3、修改Kafka配置文件 server.properties
        • 2.3.3.1、修改 log.dirs 参数
        • 2.3.3.2、修改 listeners 参数
    • 2.4、Kafka启动
      • 2.4.1、先启动Zookeeper服务
      • 2.4.2、再启动Kafka服务
    • 2.4、Kafka相关操作(Kafka新版本命令)
      • 2.4.1、创建topics
      • 2.4.2、查看topics
      • 2.4.3、打开一个producer(生产者)
      • 2.4.4、打开一个consumer(消费者)
      • 2.4.5、测试发送和接受消息
        • 2.4.5.1、producer(生产者)发送消息
        • 2.4.5.2、consumer(消费者)接收消息
      • 2.4.5、收不到消息,常见情况

Kafka简介

(一)、Kafka是由Apache软件基金会开发的一个开源流处理平台,由Scala和Java编写。Kafka是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者在网站中的所有动作流数据。
(二)、Kafka 本质上是⼀个消息队列。与zeromq不同的是,Kafka是一个独立的框架而不是一个库。
(三)、Kafka 是一种高吞吐量 的分布式发布订阅消息系统,有如下特性:

  • 通过O(1)的磁盘数据结构提供消息的持久化,这种结构对于即使数以TB的消息存储也能够保持长时间的稳定性能。
  • 高吞吐量 :即使是非常普通的硬件Kafka也可以支持每秒数百万的消息。
  • 支持通过Kafka服务器和消费机集群来分区消息。
  • 支持Hadoop并行数据加载。

一、Kafka安装前提

安装Kafka之前,需要安装JDK、Zookeeper、Scala。

Kafka依赖Zookeeper,在安装Kafka之前,需要安装、运行Zookeeper
本次安装版本选择:
JDK:1.8
Zookeeper:3.6.4
Scala:2.12
Kafka:3.5.1

1.1、JDK安装(version:1.8)

1.1.1、JDK官网下载

官网下载地址(需要oracle账号)
https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html

1.1.2、JDK网盘下载

或者网盘下载:https://pan.baidu.com/s/1MMkFbzcf8ZYvGwdHreXtUg?pwd=yyds

1.1.3、JDK安装

安装方法就不赘述了。

1.2、Zookeeper安装

1.2.1、Zookeeper官网下载

官网下载地址:https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html

1.2.2、Zookeeper网盘下载

或者网盘下载:https://pan.baidu.com/s/1MMkFbzcf8ZYvGwdHreXtUg?pwd=yyds

1.2.3、Zookeeper安装

安装方法就不赘述了。
参考博文:Windows下安装Zookeeper(图文记录详细步骤,手把手包安装成功)

1.3、Scala安装(version:2.12)

1.3.1、Scala官网下载

官网下载地址(需要oracle账号)
https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html

1.3.2、Scala网盘下载

或者网盘下载:https://pan.baidu.com/s/1MMkFbzcf8ZYvGwdHreXtUg?pwd=yyds

1.3.3、Scala安装

安装方法就不赘述了。
可参考博文:Windows下安装Scala(以Scala 2.11.12为例)

二、Kafka安装(version:2.12-3.5.1)

version:2.12-3.5.1,表示Scala版本是2.12,Kafka版本是基于此的3.5.1版本。

2.1、Kafka官网下载

官网下载地址:https://downloads.apache.org/kafka/3.5.1/kafka_2.12-3.5.1.tgz

2.2、Kafka网盘下载

网盘下载地址:https://pan.baidu.com/s/1Av4ZwQPUaAntwVxz79Ne9w?pwd=yyds

2.3、Kafka安装

2.3.1、解压Kafka安装包到安装目录

这里解压到:D:\bigdata\kafka\2.12-3.5.1

2.3.2、Kafka安装目录下新建目录logs

在这里插入图片描述

2.3.3、修改Kafka配置文件 server.properties

文件路径:D:\bigdata\kafka\2.12-3.5.1\config\server.properties

2.3.3.1、修改 log.dirs 参数

修改 log.dirs 参数值,修改成上一步新建的logs文件夹。注意文件夹路径中是双左斜杠

log.dirs=D:\\bigdata\\kafka\\2.12-3.5.1\\logs

在这里插入图片描述

2.3.3.2、修改 listeners 参数

修改 listeners 参数值,修改成上一步新建的logs文件夹。

listeners=PLAINTEXT://localhost:9092

在这里插入图片描述

2.4、Kafka启动

由于Kafka依赖于Zookeeper,所以要先启动Zookeeper,再启动Kafka。

2.4.1、先启动Zookeeper服务

管理员权限打开命令窗口,输入命令zkServer,启动Zookeeper服务:

zkServer

在这里插入图片描述
显示如下信息,则表示Zookeeper服务正常运行:
在这里插入图片描述

2.4.2、再启动Kafka服务

管理员权限打开命令窗口,进入到Kafka安装目录(D:\bigdata\kafka\2.12-3.5.1)。
输入如下命令启动Kafka服务:

.\bin\windows\kafka-server-start.bat .\config\server.properties

在这里插入图片描述
显示如下信息,则表示Kafka服务正常运行:
在这里插入图片描述

2.4、Kafka相关操作(Kafka新版本命令)

Kafka2.2之后版本中使用–zookeeper hadoop01:2181会出现报错情况,2.2之后的版本使用了–bootstrap-server hadoop01:9092来替换–zookeeper hadoop01:2181

2.4.1、创建topics

以管理员权限新开一个命令提示窗口,进入D:\bigdata\kafka\2.12-3.5.1\bin\windows目录,执行以下命令,创建topics:

kafka-topics.bat --create --bootstrap-server localhost:9092 --replication-factor 1 --partitions 1 --topic test

在这里插入图片描述

2.4.2、查看topics

查看topics列表:

bin/kafka-topics.sh --bootstrap-server kafkahost:9092 --list

在这里插入图片描述

2.4.3、打开一个producer(生产者)

以管理员权限新开一个命令提示窗口,进入D:\bigdata\kafka\2.12-3.5.1\bin\windows目录,
在这里插入图片描述
执行以下命令,打开一个producer(生产者):

kafka-console-producer.bat --broker-list localhost:9092 --topic test

在这里插入图片描述

2.4.4、打开一个consumer(消费者)

以管理员权限新开一个命令提示窗口,进入D:\bigdata\kafka\2.12-3.5.1\bin\windows目录,执行以下命令,打开一个consumer(消费者):

kafka-console-consumer.bat --bootstrap-server localhost:9092 --topic test --from-beginning

在这里插入图片描述

2.4.5、测试发送和接受消息

以上打开的窗口不要关闭,然后就可以在producer(生产者)控制台窗口输入消息并回车。在消息输入过后,很快consumer(消费者)窗口就会显示出producer(生产者)发送的消息。

2.4.5.1、producer(生产者)发送消息

在producer(生产者)控制台窗口输入消息:
在这里插入图片描述

2.4.5.2、consumer(消费者)接收消息

在consumer(消费者)控制台窗口查看消息:
在这里插入图片描述
我们发现,producer(生产者)发送的消息被consumer(消费者)接受到了。
这里乱码是字符集的问题。

2.4.5、收不到消息,常见情况

  1. 在consumer没有打开之前,就在producer里面发送了消息
  2. producer和consumer使用的topic不一致

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

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

相关文章

Java方法重写

目录 1.什么是方法重写 2.方法重写的规则 3.重写与重载的区别 1.什么是方法重写 重写(override,也称为覆盖):在子类中对父类中允许访问的方法的实现过程进行重新编写,子类中方法的名称、返回值类型、参数列表与父类…

Redis安装以及配置隧道连接(centOs)

目录 1.centOs安装Redis 2. Redis 启动和停⽌ 3. 操作Redis 2.Xshell配置隧道 1.centOs安装Redis #使⽤yum安装Redis yum -y install redis 2. Redis 启动和停⽌ #查看是否启动 ps -ef|grep redis#启动redis: redis-server /etc/redis.conf &#停⽌Redis redis-cli sh…

【web逆向】全报文加密流量的去加密测试方案

aHR0cHM6Ly90ZGx6LmNjYi5jb20vIy9sb2dpbg 国密混合 WEB JS逆向篇 先看报文:请求和响应都是全加密,这种情况就不像参数加密可以方便全文搜索定位加密代码,但因为前端必须解密响应的密文,因此万能的方法就是搜索拦截器&#xff0c…

B站电商分析,如何发现近期热门商品及优质视频带货达人?

哔哩哔哩是我们熟知的以二次元为基调的视频内容生产平台,具有浓厚而专注的二次元社区氛围,随着b站的迅猛发展,b站由原先的二次元市场逐渐扩张到电子竞技、美妆、生活、纪录片等多个领域。而b站的营收主要来自平台广告变现,内容付费…

python爬虫2:requests库-原理

python爬虫2:requests库-原理 前言 ​ python实现网络爬虫非常简单,只需要掌握一定的基础知识和一定的库使用技巧即可。本系列目标旨在梳理相关知识点,方便以后复习。 目录结构 文章目录 python爬虫2:requests库-原理1. 概述2. re…

JSP实训项目设计报告—MVC简易购物商城

JSP实训项目设计报告—MVC简易购物商城 文章目录 JSP实训项目设计报告—MVC简易购物商城设计目的设计要求设计思路系统要求单点登录模块商品展示模块购物车展示模块 概要设计Model层View层Controller层 详细设计Model层View层登录界面系统主界面 Controller层 系统运行效果项目…

基于Orangepi 3 lts 的云台相机

利用orangepi 3 lts 和arduino nano 制作了一个云台相机,可用于室内监控。 硬件: orangepi 3 ,arduino nano ,usb相机,180度舵机两个 WeChat_20230806213004 软件: 整体采用mqtt进行消息的中转。 相机采用python 利用opencv…

PAT(Advanced Level)刷题指南 —— 第四弹

一、1104 Sum of Number Segments 1. 问题描述 2. Sample Input 4 0.1 0.2 0.3 0.43. Sample Output 5.004. 题解 思路:打表,比如4个数,第一个数出现1*(4) = 4次,第二个数出现2*(4 - 1) 

以太网协议学习笔记

以太网接口电路主要由MAC(Media Access Control)控制器和物理层接口PHY两大部分构成。 PHY在发送数据时,接收MAC发过来的数据,把并行的数据转化为串行流数据,按照物理层的编码规则把数据编码转化为模拟信号发送出去&am…

【Opencv入门到项目实战】(一):Opencv安装及图像基本操作

文章目录 0.Opencv介绍及环境配置1.图像读取1.1 彩色图像读取1.2 灰色图像读取 2.视频读取3.ROI读取3.1 图形切片处理3.2 提取颜色通道 4.图像填充5.数值运算与图像融合5.1 加法运算5.2 图像融合 6. 总结 0.Opencv介绍及环境配置 OpenCV是一个强大的计算机视觉库,它…

Dockerfile部署golang

使用go镜像打包,运行在容器内 redis和mysql用外部的 项目目录结构 w1go项目: Dockerfile # 这种方式是docker项目加上 本地的mysql和redis环境 # go打包的容器 FROM golang:alpine AS builder# 为我们镜像设置一些必要的环境变量 ENV GO111MODULEon …

Maven-生命周期及命令

关于本文 ✍写作原因 之前在学校学习的时候,编写代码使用的项目都是单体架构,导入开源框架依赖时只需要在pom.xml里面添加依赖,点一下reload按钮即可解决大部分需求;但是在公司使用了dubbo微服务架构之后发现只知道使用reload不足…

编织代码的魔法:掌握Python字符串常用函数的奥秘!

在Python的编程世界里,字符串是你与计算机对话的语言,掌握字符串常用函数就像拥有了一把强大的魔杖,可以编织出令人惊叹的代码魔法。无论你是初学者还是有经验的开发者,本篇博客将带你深入探索Python字符串常用函数,揭…

(学习笔记-进程管理)线程

在早期的操作系统都是以进程为独立运行的基本单位,直到后面,计算机科学家们提出了更小的能独立运行的基本单位:线程 为什么使用线程? 举个例子,假设要编写一个视频播放软件,那么软件功能的核心模块有三个&#xff1a…

机器学习笔记:李宏毅ChatGPT课程1:刨析ChatGPT

ChatGPT——Chat Generative Pre-trained Transformer 1 文字接龙 每次输出一个概率分布,根据概率sample一个答案 ——>因为是根据概率采样,所以ChatGPT每次的答案是不一样的(把生成式学习拆分成多个分类问题)将生成的答案加到…

【Linux】总结1-命令工具

文章目录 基础指令shell命令以及运行原理Linux权限粘滞位工具 基础指令 ls、pwd、touch、mkdir、netstat、cp、mv、cd、tar、zip、unzip、grep、pstack、ps、rm、cat、more、less、head、tail、find、ulimit -a、clear、whoami、man touch:创建文件,也包…

怎么合并多个视频?简单视频合并方法分享

合并多个视频可以将它们组合成一个更长的视频,这对于需要播放多个短视频的情况非常有用。此外,合并视频还可以使视频编辑过程更加高效,因为不必将多个独立的视频文件分别处理。最后,合并视频可以减少文件数量,从而使整…

移动开发最佳实践:为 Android 和 iOS 构建成功应用的策略

您可以将本文作为指南,确保您的应用程序符合可行的最重要标准。请注意,这份清单远非详尽无遗;您可以加以利用,并添加一些自己的见解。 了解您的目标受众 要制作一个成功的应用程序,你需要了解你是为谁制作的。从创建…

Vue2 第二十一节 Vue UI组件库

移动端常用UI组件 1. Vant https://youzan.github.io/vant 2. Cube UI https://didi.github.io/cube-ui 3. Mint UI http://mint-ui.github.io PC端常用UI组件 1. Element UI https://element.eleme.cn 2. IView UI https://www.iviewui.com 一. Element UI 的引入和使…

cordova 12 编译失败Could not find method compile() for arguments [com....]

问题: Could not find method compile() for arguments [com.tencent.mm.opensdk:wechat-sdk-android-with-mta:] on object of type org.gradle.api.internal.artifacts.dsl.dependencies.DefaultDependencyHandler. 问题原因: 在Cordova项目中&…