zookeeper做成windows服务启动

2024-09-02 06:58

本文主要是介绍zookeeper做成windows服务启动,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

zookeeper下载安装

首先去官网下载zookeeper
在这里插入图片描述

注意:zookeeper的安装路径一定不要有空格,
作者之前就是因为安装在D:\Program Files\zookeeper-3.4.10路径下,
路径中有空格(Program Files中间有空格)解决了很长时间,想尽各种办法,最后发现TMD的是空格原因

配置环境变量

添加ZOOKEEPER_SERVICE, ZOOKEEPER_HOME两个环境变量

//服务名称(不要有中文)
ZOOKEEPER_SERVICE:zkServer
//设置到zookeeper-3.4.10目录下 
ZOOKEEPER_HOME:D:\zookeeper-3.4.10

生成zoo.cfg

在zookeeper-3.4.10\conf目录下复制一份zoo_sample.cfg文件,并重命名为zoo.cfg
修改zoo.cfg文件里面的路径

//存放内存数据库快照的目录
dataDir=D:/zookeeper-3.4.10/data
//存放是事务日志目录
dataLogDir=D:/zookeeper-3.4.10/log

下载prunsrv

首先去Apache官网下载prunsrv
在这里插入图片描述
解压之后将prunmgr.exe和prunsrv.exe2个可执行文件复制到zookeeper的bin目录下

注意:64位机器用amd64/prunsrv.exe

在这里插入图片描述

新建install.bat

在zookeeper的bin目录下新建一个install.bat文件,用于注册服务

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

新建zkServerStop.cmd

在zookeeper的bin目录下新建一个zkServerStop.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

启动服务

已管理员运行cmd,进入D:/zookeeper-3.4.10/bin目录下运行install.bat,(注意:运行前请确保zookeeper服务已经关闭
下图表示服务已经正常启动
在这里插入图片描述

删除服务

已管理员运行cmd,输入sc delete zkServer回车即可删除服务。

这篇关于zookeeper做成windows服务启动的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

检查 Nginx 是否启动的几种方法

《检查Nginx是否启动的几种方法》本文主要介绍了检查Nginx是否启动的几种方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学... 目录1. 使用 systemctl 命令(推荐)2. 使用 service 命令3. 检查进程是否存在4

Python实现快速扫描目标主机的开放端口和服务

《Python实现快速扫描目标主机的开放端口和服务》这篇文章主要为大家详细介绍了如何使用Python编写一个功能强大的端口扫描器脚本,实现快速扫描目标主机的开放端口和服务,感兴趣的小伙伴可以了解下... 目录功能介绍场景应用1. 网络安全审计2. 系统管理维护3. 网络故障排查4. 合规性检查报错处理1.

解决idea启动项目报错java: OutOfMemoryError: insufficient memory

《解决idea启动项目报错java:OutOfMemoryError:insufficientmemory》:本文主要介绍解决idea启动项目报错java:OutOfMemoryError... 目录原因:解决:总结 原因:在Java中遇到OutOfMemoryError: insufficient me

SpringBoot项目整合Netty启动失败的常见错误总结

《SpringBoot项目整合Netty启动失败的常见错误总结》本文总结了SpringBoot集成Netty时常见的8类问题及解决方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参... 目录一、端口冲突问题1. Tomcat与Netty端口冲突二、主线程被阻塞问题1. Netty启动阻

SpringBoot整合Kafka启动失败的常见错误问题总结(推荐)

《SpringBoot整合Kafka启动失败的常见错误问题总结(推荐)》本文总结了SpringBoot项目整合Kafka启动失败的常见错误,包括Kafka服务器连接问题、序列化配置错误、依赖配置问题、... 目录一、Kafka服务器连接问题1. Kafka服务器无法连接2. 开发环境与生产环境网络不通二、序

nacos服务无法注册到nacos服务中心问题及解决

《nacos服务无法注册到nacos服务中心问题及解决》本文详细描述了在Linux服务器上使用Tomcat启动Java程序时,服务无法注册到Nacos的排查过程,通过一系列排查步骤,发现问题出在Tom... 目录简介依赖异常情况排查断点调试原因解决NacosRegisterOnWar结果总结简介1、程序在

在C#中调用Windows防火墙界面的常见方式

《在C#中调用Windows防火墙界面的常见方式》在C#中调用Windows防火墙界面(基础设置或高级安全设置),可以使用进程启动(Process.Start)或Win32API来实现,所以本文给大家... 目录引言1. 直接启动防火墙界面(1) 打开基本防火墙设置(firewall.cpl)(2) 打开高

基于Python实现局域网内Windows桌面文件传输

《基于Python实现局域网内Windows桌面文件传输》这篇文章介绍了如何使用Python实现一个局域网文件传输系统,包括发送端和接收端的代码示例,发送端和接收端都需要在同一局域网内运行,并且确保防... 目录发送端代码 (sender.py)接收端代码 (receiver.py)图形界面版本 (可选)使

Java JAR 启动内存参数配置指南(从基础设置到性能优化)

《JavaJAR启动内存参数配置指南(从基础设置到性能优化)》在启动Java可执行JAR文件时,合理配置JVM内存参数是保障应用稳定性和性能的关键,本文将系统讲解如何通过命令行参数、环境变量等方式... 目录一、核心内存参数详解1.1 堆内存配置1.2 元空间配置(MetASPace)1.3 线程栈配置1.

Linux创建服务使用systemctl管理详解

《Linux创建服务使用systemctl管理详解》文章指导在Linux中创建systemd服务,设置文件权限为所有者读写、其他只读,重新加载配置,启动服务并检查状态,确保服务正常运行,关键步骤包括权... 目录创建服务 /usr/lib/systemd/system/设置服务文件权限:所有者读写js,其他