windows/linux 安装zookeeper + Kafka (含自启动)运行教学

2023-05-16

首先我们来花两分钟了解一下:

什么是zookeeper?

什么是kafka?

为什么kafka依赖zookeeper和javaSDK?

Zookeeper 和 Kafka 都是 Apache 软件基金会中的开源软件。

Zookeeper 是一个分布式协调服务,它提供了一个基于树形结构的命名空间来协调分布式系统的各个部分。Zookeeper 能够跟踪各个分布式系统组件的状态,并在这些组件之间协调消息传递,从而帮助开发者构建高可用性、可伸缩性的分布式系统。

Kafka 是一个分布式流处理平台,它具有高吞吐量、低延迟的特点。Kafka 通过发布-订阅模式来处理消息,同时提供了流式处理和批处理的支持。Kafka 可以用于处理各种类型的数据,包括日志、指标、事件、事务等。

Kafka 依赖于 Zookeeper 来存储集群的元数据和状态信息,包括 Kafka 的主题、分区、副本等。Kafka 还使用 Zookeeper 来选举控制器和领导者,并协调各个 Kafka 节点之间的同步和复制操作。因此,Kafka 不能单独运行,必须与 Zookeeper 一起使用。

此外,Kafka 还依赖于 Java SDK 来提供对 Java 程序的支持。Kafka 是用 Java 语言编写的,因此需要 Java 运行时环境来运行。Kafka 的客户端 API 也是用 Java 语言编写的,因此需要 Java SDK 来进行开发和编译。

接下来让我一起大展身手=======》

请耐心看完再操作,感谢浏览,一键三连下次再见~

目录

什么是zookeeper?

什么是kafka?

为什么kafka依赖zookeeper和javaSDK?

下载 JAVA JDK(Windows)

下载 JAVA JDK(Linux)

下载 Kafka 及控制台包

下载 ZooKeeper (Windows与Linux)

配置 ZooKeeper(Windows)

配置 ZooKeeper(Linux)

启动 ZooKeeper(Windows)

启动 ZooKeeper(Linux)

设置开机启动 ZooKeeper(Linux)

配置 Kafka(Windows)

配置 Kafka(Linux)

启动 Kafka(Windows)

启动 配置 Kafka(Windows)

调试Kafka 生产者与消费者消息互通机制(Windows)

启动 Kafka(Linux)

设置开机启动Kafka(Linux)


下载 JAVA JDK(Windows)

在开始之前,需要下载并安装 ,下载地址 Ja、va Downloads | Oracle。

安装地址选择时请记录安装地址哦!!!!!

在“环境变量”设置中,找到“系统变量”中的“新建”按钮,然后输入以下内容:

  • 变量名:JAVA_HOME
  • 变量值:Java 安装目录的路径

下载 JAVA JDK(Linux)

在开始之前,需要下载并安装 ,下载地址 Ja、va Downloads | Oracle。

选择Linux版本下载,我这里下载了

apache-zookeeper-3.7.1-bin.tar.gz

通过winscp或其他软件放在你的linux上

我这里的示例目录放在/opt/tempFile文件夹下

  1. 然后解压安装包,可以使用以下命令:

    tar -zxvf jdk-*.tar.gz 

    解压后会在当前目录下生成一个名为 jdk-* 的目录。*代表的是你下载的JDK版本哦请自行替换!!

  2. 将解压后的目录移动到合适的位置,比如 /opt 目录下:

    sudo mv jdk-* /opt
  3. 设置环境变量。可以编辑 /etc/profile 文件,在文件末尾添加以下内容:

    export JAVA_HOME=/opt/jdk-* export PATH=$PATH:$JAVA_HOME/bin 

    其中,* 表示 JDK 版本号,具体替换为解压后的目录名。

  4. 使环境变量生效,执行以下命令:

    ource /etc/profile 
  5. 验证 Java 是否安装成功,执行以下命令:

    java -version 

    如果成功安装,将会输出 JDK 的版本号信息。

至此,Java 的安装和环境变量的配置就完成了。

下载 Kafka 及控制台包

在开始之前,需要下载并安装 Apache Kafka。你可以从官方网站下载 Kafka:Apache Kafka

 这一步不解压与安装,后续会详细说明,!!!!别急哦~~

下载 ZooKeeper (Windows与Linux)

可以从 ZooKeeper 的官方网站(https://zookeeper.apache.org/)下载最新版本的 ZooKeeper

我这里下载的是: apache-zookeeper-3.7.1-bin.tar.gz

配置 ZooKeeper(Windows)

在 ZooKeeper 的解压缩目录中,找到 conf 文件夹,该文件夹包含了 ZooKeeper 的配置文件。以下是一些需要注意的配置选项:

  • dataDir:指定 ZooKeeper 存储数据的目录,默认为 /tmp/zookeeper

在 ZooKeeper 中,dataDir 是指数据存储目录,用于存储 ZooKeeper 的数据快照和事务日志。它可以是相对路径或绝对路径,具体取决于在配置文件中指定的路径格式。

如果使用相对路径,则相对路径是相对于 ZooKeeper 的安装目录。例如,如果安装目录为 C:\zookeeper,并且 dataDir 被设置为 data,则数据存储目录将位于 C:\zookeeper\data

如果使用绝对路径,则直接指定完整路径即可。例如,如果 dataDir 被设置为 C:\zookeeper\data,则数据存储目录将位于 C:\zookeeper\data

  • clientPort:指定客户端连接到 ZooKeeper 服务器的端口号,默认为 2181。
  • tickTime:指定 ZooKeeper 服务器之间的心跳间隔时间(以毫秒为单位),默认为 2000。

可以根据需要修改这些选项的值,以便更好地满足实际需求。修改完成后,将 conf 文件夹复制到一个安全的位置(例如 /etc/zookeeperC:\zookeeper\conf)。

PS:请注意此处官网下载的包只有zoo_sample.cfg (示例文件),zoo.cfg需要自行复制后zoo_sample.cfg文件后更名配置使用

配置 ZooKeeper(Linux)

在 ZooKeeper 的解压缩目录中,找到 conf 文件夹,该文件夹包含了 ZooKeeper 的配置文件。以下是一些需要注意的配置选项:

  • dataDir:指定 ZooKeeper 存储数据的目录,默认为 /tmp/zookeeper

在 ZooKeeper 中,dataDir 是指数据存储目录,用于存储 ZooKeeper 的数据快照和事务日志。它可以是相对路径或绝对路径,具体取决于在配置文件中指定的路径格式。

如果使用相对路径,则相对路径是相对于 ZooKeeper 的安装目录。例如,如果安装目录为 C:\zookeeper,并且 dataDir 被设置为 data,则数据存储目录将位于 C:\zookeeper\data

如果使用绝对路径,则直接指定完整路径即可。例如,如果 dataDir 被设置为 C:\zookeeper\data,则数据存储目录将位于 C:\zookeeper\data

  • clientPort:指定客户端连接到 ZooKeeper 服务器的端口号,默认为 2181。
  • tickTime:指定 ZooKeeper 服务器之间的心跳间隔时间(以毫秒为单位),默认为 2000。

可以根据需要修改这些选项的值,以便更好地满足实际需求。修改完成后,将 conf 文件夹复制到一个安全的位置(例如 /opt/zookeeper/data/如不存在文件,直接创建后指向即可)。

ZooKeeper 的配置文件为 conf/zoo.cfg,需要进行以下修改:

tickTime=2000 
dataDir=/opt/zookeeper/data
clientPort=2181

创建 ZooKeeper 数据目录

在上一步中,我们将 dataDir 设置为 /var/lib/zookeeper,需要手动创建该目录:

$ sudo mkdir -p /var/lib/zookeeper

 PS:请注意此处官网下载的包只有zoo_sample.cfg (示例文件),zoo.cfg需要自行复制后zoo_sample.cfg文件后更名配置使用

启动 ZooKeeper(Windows)

在 Windows 系统上,可以使用命令行启动 ZooKeeper

当前安装目录:C:\apache-zookeeper-3.7.1-bin

  • 在 Windows 系统上,打开命令提示符,并进入 ZooKeeper 的解压缩目录,然后执行以下命令:
#切换目录至C:\apache-zookeeper-3.7.1-bin\bin文件夹下
cd /d  C:\apache-zookeeper-3.7.1-bin\bin>

#运行该服务
zkServer.cmd

 正常情况下没有ERROR警告释出,基本Zookeeper已经启动完成了,我这边的图示

启动 ZooKeeper(Linux)

  1. 启动 ZooKeeper

    启动 ZooKeeper 需要执行以下命令:

    $ cd apache-zookeeper-3.7.1-bin $ bin/zkServer.sh start 

    如果看到以下输出,则代表 ZooKeeper 启动成功:

    
      

设置开机启动 ZooKeeper(Linux)

        待更新

配置 Kafka(Windows)

开始使用 Kafka ,将其解压到自己选择的目录下

示例当前目录C:\Kafka

我们需要对其创建环境变量(windows怎么新增修改环境变量,请自行百度)

系统变量中,选择Path变量,新建当前解压目录下的bin文件夹

 保存退出

检查自己kafka bin文件夹下是否多了windows文件夹,没有的话就是你的环境变量配置有误哦

配置 Kafka(Linux)

待更新

启动 Kafka(Windows)

在 Windows 系统上,打开命令提示符,并进入 kafka的解压缩目录,然后执行以下命令:

#切换至kafka根目录
cd /d  C:\Kafka

#运行kafkaf服务
.\bin\windows\kafka-server-start.bat .\config\server.properties

 正常情况下没有ERROR警告释出,基本kafka已经启动完成了,我这边的图示

启动 配置 Kafka(Windows)

待更新

调试Kafka 生产者与消费者消息互通机制(Windows)

  1. 打开一个新的命令行窗口。

  2. 进入 Kafka 的安装目录,然后进入 bin 目录。

  3. 运行以下命令来启动 Kafka 的控制台生产者:

  4. 
    执行cd C:/Kafka/bin/windows
      
  5. 执行 afka-console-producer.bat --broker-list localhost:9092 --topic test

    这将启动一个控制台生产者,它将向名为 test 的主题发送消息。请注意,这里使用的是本地 Kafka 服务器的默认地址和端口,如果你的 Kafka 服务器位于不同的主机或使用了不同的端口,请相应地修改命令中的参数。

  6. 等待几秒钟,直到控制台显示类似于以下内容的提示符 (啥也没有就对了)

  7. 这表明控制台生产者已经准备好了,可以开始向 Kafka 发送消息了。

  8. 在控制台中输入一些文本,然后按回车键发送消息。例如:

    Hello ,this is u first Kafka! 

    这将向 test 主题发送一条消息,其内容为Hello ,this is u first Kafka!

  9. 打开另一个命令行窗口,进入 Kafka 的 bin 目录,然后运行以下命令来启动控制台消费者:

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

    这将启动一个控制台消费者,它将从 test 主题订阅消息,并显示在控制台中。请注意,--from-beginning 参数表示从主题的开头开始消费消息,以便能够查看在启动消费者之前发送的消息。

  10. 在控制台消费者窗口中,你应该能够看到之前发送的消息:

    
    这表明 Kafka 已经成功启动,并且可以通过控制台生产者和消费者来发送和接收消息  

启动 Kafka(Linux)

待更新

设置开机启动Kafka(Linux)

待更新

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

windows/linux 安装zookeeper + Kafka (含自启动)运行教学 的相关文章

  • Anaconda安装在D盘后无法在CMD窗口执行python命令

    Anaconda安装在D盘后无法在CMD窗口执行python命令以及库的安装办法 解决办法 xff1a 1 添加环境变量 我的电脑 右键属性 高级系统设置 环境变量 双击变量PATH 将Anaconda和Scripts的路径加入即可 xff
  • Ubuntu18.04配置多用户远程桌面控制display 0问题解决

    Ubuntu18 04配置xrdp多用户远程桌面控制 display 0问题解决 找了网上的所有方法都没有解决 xff0c 重新安装xrdp好了一会儿还会出现display 0情况 xff0c 偶然一次配置了ssh xff0c 然后就好了
  • Windows后台运行并启动Frpc客户端界面

    Windows后台运行并启动Frpc客户端界面 frp搭建内网穿透可以看我另外一篇 1 frps服务端配置 common bind port 61 3000 vhost http port 61 4000 vhost https port
  • 树莓派4安装Debian10

    原因 虽然树莓派自家的Raspberry Pi OS也是Debian10 xff0c 但是作为有些强迫症的程序员 xff0c 我还是选择安装官方发布的Debian10 其实安装很简单 xff0c 直接写入内存卡就行了 xff0c 但是不能s
  • Framework中的连接管理机制--4G和wifi之间的切换流程(转)

    https blog csdn net u010961631 article details 48629601 上一节 Wifi服务框架介绍 介绍了WIFI的大致框架 xff0c 本文主要介绍连接管理中的几个重要角色 xff0c 包括 xf
  • pandas学习笔记:pandas.Dataframe.rename()函数用法

    pandas学习笔记 xff1a pandas Dataframe rename 函数用法 pandas Dataframe rename 函数主要是用来修改Dataframe数据的行名和列名 主要用到的参数有 columns xff1a
  • mac os 查看日历_从命令行查看Mac日历

    mac os 查看日历 As someone that loves using UI tools I do pride myself in learning how to accomplish the same feats from com
  • Sql基础教程

    sql基础教程 第一章 数据库与sql1 1 数据库是什么DBMS的种类 1 2 数据库的结构表的结构 1 3 SQL 概要SQL语句及其种类SQL的基本书写规则 1 4 表的创建数据库的创建表的创建命名规则数据类型约束的设置 1 5 表的
  • Jetson TX2更换软件源(转)

    感谢博客 xff1a 点击打开链接 TX2的软件源为国外服务器 xff0c 网速会很慢 xff0c 需要换国内的ARM源 1 备份 etc lib路径下的source list文件 xff0c 然后在终端 xff08 按ctrl 43 al
  • c语言中求数组长度(*的作用,定义指针变量与取值)

    最近在学习c语言 xff0c 在c语言中少了很多库函数 xff0c 就比如我在求数组长度的时候 xff0c len 不能用了 xff0c 这在python中是自带的函数 即使在c 43 43 中 xff0c 求字符串长度时也能用str le
  • 个人使用ubuntu18相关配置

    root登陆 1 首先获得临时的root权限 xff0c 因为后面的一些操作需要root权限才可以 xff0c 打开终端输入以下命令 sudo s 之后直接输入当前账户的密码 xff0c 就可以获得临时的root权限 2 先创建root账户
  • Manjaro内存不足解决记录

    1 Linux虚拟机 最近在家闲得没事做 xff0c 就使用VMware装了一个linux虚拟机 xff0c 虽然之前装过许多linux发行版的虚拟机 xff0c 也装过win10 43 Deepin双系统 xff0c 但是从来没具体了解过
  • String/StringBuilder/StringBuffer

    String StringBuilder StringBuffer 1 可变性 String 字符串常量 xff0c 字符串是不可变的 源码中 xff1a span class token keyword private span span
  • 计算机网络-网络结构

    计算机网络 三种网络结构 OSI xff1a 物理层 数据链路层 网络层 传输层 会话层 表示层 应用层 TCP IP xff1a 网络接口层 网际层 传输层 应用层 五层 xff1a 物理层 数据链路层 网络层 传输层 应用层 应用层 它
  • 计算机网络-三次握手/四次挥手/可靠传输/ARQ协议

    计算机网络 TCP三次握手 同步SYN 确认ACK 发送端 SYN标志的数据报 seq 61 x gt 接收端 xff08 SYN 61 1 xff09 发送端 lt SYN ACK标志的数据报 seq 61 y ack 61 x 43 1
  • 计算机网络-拥塞控制/HTTP/URL

    滑动窗口和流量控制 TCP利用滑动窗口实现流量控制 xff0c 流量控制就是为了控制发送方发送速率 xff0c 保证接收方来得及接收 接收方发送的确认报文中的窗口字段可以来控制发送方窗口大小 xff0c 从而影响发送方的发送速率 xff0c
  • Integer和int进行==比较

    Integer amp int int是Java的基本数据类型 xff0c 而Integer是它的包装类 xff0c 61 61 在进行比较时 xff0c 如果是基本类型 xff0c 比较的是值 xff0c 如果是引用类型 xff0c 比较
  • deepin恢复出厂设置_如何恢复出厂设置

    deepin恢复出厂设置 There comes a time in every user s life when they have to reset something back to its factory default Perha
  • JUC-JMM/Volatile/单例模式

    JMM Java内存模型 xff0c 是一个概念 xff0c 不存在的东西 xff0c 概念 约定 关于JMM的一些同步约定 xff1a 线程解锁前 xff0c 必须把共享变量刷回主存线程加锁前 xff0c 必须读取主存中的最新值到工作内存
  • 设计模式-六大原则/单例模式

    设计模式 概念 xff1a 是一套被反复使用 多数人知晓的 经过分类编目的 代码设计经验的总结 作用 xff1a 为了可重用代码 让代码更容易被他人理解 保证代码可靠性 程序的重用性 JDK Spring等源码中许多地方用到了设计模式 设计

随机推荐

  • 设计模式-工厂模式/代理模式

    工厂模式 创建对象时不会对客户端暴露创建逻辑 xff0c 并且通过使用一个共同的接口来指向新创建的对象 xff0c 实现创建者和调用者分离 xff0c 工厂模式分为简单工厂 工厂方法 抽象工厂 xff0c Spring中的IOC容器创建be
  • WSL2+VcXsrv 打开图形窗口实现可视化

    前些天有个朋友拜托我帮忙看看 老师让配置的 Cygwin 安装 gnuplot 用 XLaunch 做图形界面 始终画不出图来 这个问题我研一的时候也遇到过 走了许多弯路 所以在电脑上一阵鼓捣 现在做一个如下记录 Cygwin 43 XLa
  • gitlab 安装/卸载/备份/迁移/汉化/重置root密码 全套教程

    服务器环境 centos7 4 gitlab版本 gitlab span class token operator span ce span class token operator span 11 span class token pun
  • bash: line 5: bgzip: command not found

    报错信息 xff1a bash line 5 bgzip command not found 解决方式 xff1a conda install tabix
  • linux之chgrp命令

    chgrp 命令更改 目录或文件所属的组 chgrp R 目录 或 文件 R xff1a 递归式改变指定目录及目录下所有文件和子目录 chgrp eg chgrp group2 file2 将file2的属组更改为group2 以空格分开
  • PageHelper limit自定义位置

    package com sgcc base common rest model import com github pagehelper Page import com github pagehelper dialect helper My
  • Ubuntu20.04 执行nvidia-smi命令,显示不能连接到显卡驱动

    错误 xff1a NVIDIA SMI has failed because it couldn t communicate with the NVIDIA driver 解决这个问题的一般方法 xff1a nvidia smi 报错 xf
  • nginx安装windows服务

    进入nginx安装目录列如 D code nginx 1 6 3 将WinSW NET4 exe复制到 nginx安装目录下 将WinSW NET4 exe重名为install service exe xff0c 并创建立install s
  • 贝塞尔曲线 弯曲动画ios_用贝塞尔曲线弯曲

    贝塞尔曲线 弯曲动画ios by Nash Vail 由Nash Vail 用贝塞尔曲线弯曲 Nerding Out With Bezier Curves Since the past few days I have been trying
  • MySQL随机获取10条数据-多种方式

    MySQL随机获取10条数据 多种方式 测试表有 254 万条数据 xff0c 各个SQL的执行效率如下 方式一 最简单 xff0c 但是效率最低 执行时间 xff1a 9 845s SELECT FROM 96 table 96 ORDE
  • ESXI克隆虚拟主机

    目录 一 通过命令克隆主机 二 通过网页端克隆主机 一 通过命令克隆主机 1 启用esxi的ssh 2 ssh登录esxi 3 找到虚拟机所在目录 4 建立新虚拟机目录 5 拷贝vmx文件 6 克隆vmdk 7 修改vmx文件 8 esxi
  • SqlServer 查询JSON 数据

    https www cnblogs com whitebai p 13614024 html
  • 一篇文章带你发中文核心期刊《计算机科学》

    中文核心期刊 计算机科学 发论文过程分享 目录 中文核心期刊 计算机科学 发论文过程分享 1 写论文 xff0c 找杂志发表 2 寻找投稿的杂志社 xff0c 修改论文 3 论文审核流程 4 关于怎么联系杂志的编辑部 投稿的大致过程如下 x
  • unity 安装踩坑

    此贴unity安装版本为2019 1 9f1 xff0c 基本项目都是向下兼容 xff01 xff01 xff01 话不多说直接上干货 1 卸载unity hub 2 卸载unity 3 删除C ProgramData Unity文件夹 4
  • Intellij IDEA 部署Web项目后运行出现HTTP Status 404(找不到对应的路径文件,不是无法访问此网站)

    之前抽空搭建了一个java的环境做了个项目 xff0c 结果重装系统以后 xff0c 重新部署项目能够运行的时候发现了项目调试404 xff08 找不到实际的页面 xff0c 后来csdn查了一下很常见的问题 xff09 给大家推荐一下这个
  • VS 2019 使用Node.js 《环境安装》

    Vs2019安装node js 说明 1 安装node js工具 2 安装node js https nodejs org en download 3 查看环境变量是否在安装过程中自动附加 4 安装完成后重启电脑 5 运行cmd 管理员运行
  • 如何实现HTML5 Notification 桌面推送(无需域名)

    之前涉及到要做B S架构的 浏览器windows桌面的消息提醒 xff0c 然后在网上找到了Notification的消息推送 发现这类的文章挺少的 xff0c 故此写下来包装了一下方法记录一下以后用 xff0c 参考知乎大佬的文章 xff
  • .net Core MongoDB保姆级环境安装

    用户需求 xff1a 涉及多json类型的数据存储 xff0c 因redis较nosql没那么好用 xff0c 实际操作了一波环境安装 xff0c 目前我还是没有配置环境变量的 MongoDB的下载 61 官网链接 https www mo
  • mysql使用游标(优化最后一行重复的)

    纯粹是业务需要 xff0c 学习记录一下使用游标的过程 xff1b 我们先创建一张表 xff1b 假设att test是我们的表名称 xff0c 其中有两个字段 xff0c 我插入了一部分数据 xff1b 我们学习下 xff0c 如何在遍历
  • windows/linux 安装zookeeper + Kafka (含自启动)运行教学

    首先我们来花两分钟了解一下 xff1a 什么是zookeeper xff1f 什么是kafka xff1f 为什么kafka依赖zookeeper和javaSDK xff1f Zookeeper 和 Kafka 都是 Apache 软件基金