站点图标 江湖人士

怎样将kafka安装为windows服务,zookeeper也一样

记录C# 构造Expression调用字符串Contains 犯的1个错误

记录C# 构造Expression调用字符串Contains 犯的1个错误

正式的网站项目,使用了kafka和 zookeeper,原来是通过命令行启动的,存在的风险就是其他人上服务器可能随时或者不小心给你把命令行cmd给关闭掉,这样kafka和zookeeper就挂掉了,那么怎样将kafka安装为windows服务呢?同样也将zookeeper安装为windows服务。

kafka安装为windows服务

通常启动kafka只需要执行命令:

kafka-server-start.bat E:\Tool\kafka_2.12-2.2.0\config\server.properties
怎样将kafka安装为windows服务,zookeeper也一样 8

启动成功后会看到如下图那样的提示:

上面是常见的在windows服务器上使用命令行方式来启动kafka,缺点上面已经提到了,那接下来看看怎样将它安装为服务。

先来看看将kafka安装为服务之后的效果。

怎样将kafka安装为windows服务,zookeeper也一样 9

同样的,zookeeper安装为windows服务后,也可以在服务列表里面看到。

怎样将kafka安装为windows服务,zookeeper也一样 10

上面的服务名称kafka和zookeeper是可以随便取的。你高兴叫啥都成,例如叫:jhrs.com也是可以的。

如果你也打算将kafka和zookeeper安装为windows服务,下面就是本文要介绍的步骤了,并且引入一个小软件,叫nssm。

NSSM简介

NSSM是一个服务封装程序,它可以将普通exe、bat、以及任何程序封装成服务,使之像windows服务一样运行,就像一个服务壳一样,将你的程序包在NSSM里面。

官网解释如下:

NSSM – the Non-Sucking Service Manager

nssm is a service helper which doesn’t suck. srvany and other service helper programs suck because they don’t handle failure of the application running as a service. If you use such a program you may see a service listed as started when in fact the application has died. nssm monitors the running service and will restart it if it dies. With nssm you know that if a service says it’s running, it really is. Alternatively, if your application is well-behaved you can configure nssm to absolve all responsibility for restarting it and let Windows take care of recovery actions.

nssm logs its progress to the system Event Log so you can get some idea of why an application isn’t behaving as it should.

nssm also features a graphical service installation and removal facility. Prior to version 2.19 it did suck. Now it’s quite a bit better.

如何使用

  1. 下载NSSM       download.
  2. 根据自己的平台,将32/64位nssm.exe文件解压至任意文件夹。
  3. cmd定位至nssm.exe所在目录。
  4. 输入 nssm install {服务名称},即注册服务的名称。注册服务弹出如下NSSM界面。

kafka安装成win服务

按照上面的步骤操作就可以了,核心就是下面的截图,也可以添加依赖服务。

Path:E:\Tool\kafka_2.12-2.2.0\bin\windows\kafka-server-start.bat  
Startup directory:E:\Tool\kafka_2.12-2.2.0\bin\windows
Arguments:E:\Tool\kafka_2.12-2.2.0\config\server.properties
怎样将kafka安装为windows服务,zookeeper也一样 11

Path参数为kafka的启动命令,一般在windows目录。Startup directory为启动目录,Arguments是启动参数,只有启动参数需要手工填一下,当你在Path点右边按钮选择后会自动的填上前面2个参数。自己操作体验下就明白了。

完了之后点击 Install Service 就可以了。

如果有依赖服务,按下图所示填上即可。

zookeeper安装为windows服务

zookeeper也是可以安装为windows服务的,操作如下图所示:

没有参数就不用填。

如果嫌界面操作比较麻烦,可以制作成批处理文件一次性安装完毕。

BAT一键安装为Windows服务

@echo off
@echo  安装zookeeper
nssm install zookeeper E:\Tool\zookeeper-3.4.10\bin\zkServer.cmd
@echo  安装kafka
nssm install kafka E:\Tool\kafka_2.12-2.2.0\bin\windows\kafka-server-start.bat E:\Tool\kafka_2.12-2.2.0\config\server.properties
@echo 启动zookeeper服务
nssm start zookeeper
@echo 启动kafka服务
nssm start kafka
pause

上面的命令是通过批处理文件一键安装为windows服务,并且启动zookeeper和kafka服务。你可以直接拿过去使用,注意需要修改下参数,例如将E:\Tool\zookeeper-3.4.10\bin\zkServer.cmd修改为你服务器上的zookeeper目录,而E:\Tool\kafka_2.12-2.2.0\bin\windows\kafka-server-start.bat E:\Tool\kafka_2.12-2.2.0\config\server.properties也是对应的修改为kafka的路径。

如果要卸载的话,使用下面的bat即可。

@echo off
@echo  卸载zookeeper
nssm remove zookeeper confirm
@echo  卸载kafka
nssm remove kafka confirm
pause

将以上代码复制下来,用记事本新建一个文件,粘贴进去,并将后缀改为bat即可,使用时双击运行就完事了。

nssm常用命令

  1. nssm install servername //创建servername服务
  2. nssm start servername //启动服务
  3. nssm stop servername //暂停服务
  4. nssm restart servername //重新启动服务
  5. nssm remove servername //删除创建的servername服务

总结

NSSM可以将控制台程序一样的安装为服务,再配合定时任务,可以做好多事情。

退出移动版