关于部署 Kafka 的一些所得

前记

最近在做日志模块。

其中用到的日志信息传输的中间工具用的是的 Kafka,在自己的摸索中总是有一些问题的,在这里记录下来。

 Kafka 环境搭建

首先是下载需要的安装软件。

JDK、Zookeeper、Kafka(下载最新的安装文件即可)。

首先安装JDK,因为Zookeeper是需要Java的环境;安装完成后要设置好环境变量

接下来安装Zookeeper,所谓的安装就是解压下载的文件到你自己的目录(这里就是安装的目录),把这个目录设置环境变量

最后安装Kafka,这里和上一步Zookeeper的一样。

安装在这里进简述,如果有不明白的可以参考这里“Windows上搭建Kafka运行环境”。

Zookeeper服务和Kafka批处理

由于Zookeeper和Kafka每次开启和关闭都需要命令行,操作多了就会感觉挺麻烦的。

所以就寻找,看有没有直接用服务的方式进行操作的。

在苦苦寻找下,只找到了Zookeeper做成服务的方法,对于Kafka呢就用了批处理来操作。

首先是Zookeeper的服务:

下载prunsrv ,下载地址:http://archive.apache.org/dist/commons/daemon/binaries/windows/

解压文件下的“prunsrv.exe”、“prunmgr.exe”’到Zookeeper目录下的“bin”,如果64位的到amd64文件下解压。

在上面的文件夹下新建“stopZookeeper.cmd”和“install.cmd”文件。

stopZookeeper.cmd 代码如下所示(这个是结束服务的操作):

复制代码
@echo off
 setlocal
 TASKLIST /svc | findstr /c:"%ZOOKEEPER_SERVICE%" > %ZOOKEEPER_HOME%\zookeeper_svc.pid
 FOR /F "tokens=2 delims= " %%G IN (%ZOOKEEPER_HOME%\zookeeper_svc.pid) DO (
    @set zkPID=%%G
 )
 taskkill /PID %zkPID% /T /F
 del %ZOOKEEPER_HOME%/zookeeper_svc.pid
 endlocal
复制代码

install.cmd 代码如下所示(这个是注册服务的操作):

复制代码
prunsrv.exe "//IS//%ZOOKEEPER_SERVICE%" ^
        --DisplayName="Zookeeper (%ZOOKEEPER_SERVICE%)" ^
        --Description="Zookeeper (%ZOOKEEPER_SERVICE%)" ^
        --Startup=auto --StartMode=exe ^
        --StartPath=%ZOOKEEPER_HOME% ^
        --StartImage=%ZOOKEEPER_HOME%\bin\zkServer.cmd ^
        --StopPath=%ZOOKEEPER_HOME%\ ^
        --StopImage=%ZOOKEEPER_HOME%\bin\zkServerStop.cmd ^
        --StopMode=exe --StopTimeout=5 ^
        --LogPath=%ZOOKEEPER_HOME% --LogPrefix=zookeeper-wrapper ^
        --PidFile=zookeeper.pid --LogLevel=Info --StdOutput=auto --StdError=auto
复制代码

上面代码中的“ZOOKEEPER_SERVICE”是环境变量,可以根据自己需求添加设置。

运行“install.bat”就可以了,在服务界面就可以找到。启动服务就可以。

如果服务有问题,或者感觉不好,可以删除服务注册:开始”——“运行”——“regedit”)然后依次打开HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services

找到你注册的服务删除即可。

Kafka 批处理

新建两个批处理文件“startKafka.bat”、“stopKafka.bat”,这里面用的是“call”没有用“start”,因为在调用完成后直接就退出窗口了。

两个代码分别为:startKafka.bat

复制代码

@echo off


echo start Kafka


call 安装路径\bin\windows\kafka-server-start 安装路径\config\server.properties


echo end Kafka

复制代码

 

stopKafka.bat

@echo off

echo stop Kafka

call 安装路径\bin\windows\kafka-server-stop

echo end stop Kafka

Windows 下一些问题

1、Kafka 服务会无故的的停止,不能正常工作,但是也不报错很奇怪。也找不到问题;

2、对于上面说的问题,重启 Kafka、Zookeeper 服务就可以。如果还不行的话,删除所有数据。还有就是重启机器(Kafka 服务器、生产者服务器都需要重启)

posted @   漠里  阅读(527)  评论(2编辑  收藏  举报
编辑推荐:
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
· 使用C#创建一个MCP客户端
点击右上角即可分享
微信分享提示