首页 > Windows开发 > 详细

Zookeeper安装与调优部署(WinServer)

时间:2021-02-23 23:36:37      阅读:2      评论:0      收藏:0      [点我收藏+]
1. 安装环境准备

1.1 部署规划

软件安装路径 E:\zookeeper
端口规划 2192

2. Zookeeper安装部署

2.1 JDK安装部署

? 安装描述
? 新建software文件夹,将安装包拷贝到该文件夹下
? JDK版本为jdk-8u131-windows-x64.exe,点击exe安装包;
? 在弹出的窗口,点击下一步;
? 根据需要修改安装路径,点击下一步;
? 安装JRE,点击下一步;
? 完成安装。
? 环境变量配置
? 打开控制面板-点击系统-高级系统设置-进入高级选项卡-环境变量-新建系统变量值:如下
变量名:JAVA_HOME
变量值:E:\Java\jdk1.8.0_131(按实际安装路径),如图下
技术分享图片
? 新建系统变量CLASSPATH:如下
变量名:CLASSPATH
变量值:.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;
如图下
技术分享图片
? 修改PATH变量值
在PATH变量值前面增加JAVA变量值为:
%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;
如下图,点击确定。
技术分享图片

2.2 Zookeeper部署

? 下载apache-zookeeper-3.6.1-bin.tar.gz安装包
下载地址:https://zookeeper.apache.org/releases.html
1、上传apache-zookeeper-3.6.1-bin.tar.gz安装包到服务器;
2、解压安装包变重命名为zookeeper;
3、进入zookeeper目录,新建data文件夹和log文件夹;
4、将conf目录下的zoo_sample.cfg文件,复制一份,重命名为zoo.cfg;
5、修改zoo.cgf配置文件(注意路径格式配置)

dataDir=E:/zookeeper/data
dataLogDir=E:/zookeeper/log
clientPort=2192

6、参数注释
tickTime:心跳时间,zk里使用的基本时间单位
initLimit:leader和follower之间最长的心跳时间,心跳时间为initLimittickTime秒
syncLimit:leader和follower之间发送消息,请求和应答的最大时间长度,时间长度为syncLimit
tickTime秒
maxClientCnxns:客户端连接上限
7、配置zk环境变量
? 打开控制面板-点击系统-高级系统设置-进入高级选项卡-环境变量-新建系统变量值:如下
变量名:ZOOKEEPER_HOME
变量值:E:\zookeeper(按实际安装路径),如下图
技术分享图片
? 修改PATH变量值
在PATH变量值前面增加ZOOKEEPER_HOME变量值为:
%ZOOKEEPER_HOME%\bin;
如下图,点击确定。
技术分享图片
8、服务启动
(1)进入E:\zookeeper\bin,双击zkServer.cmd启动zk服务
(2)使用组合键Shift+Ctrl+鼠标右键,选择“在此处打开命令行容器”,在弹出的cmd窗口运行如下命令,测试zk服务是否正常:

E:\zookeeper\bin> zkCli.cmd -server localhost:2192
出现如下提示内容,表示zk服务启动正常
Connecting to localhost:2192
………
Welcome to ZooKeeper!
……….

(3)服务启动异常调试
编辑zkServer.cmd启动文件,在末尾倒数第二行添加关键字pause,排查启动异常(注意:待异常解决后,请删除pause,保存配置后双击启动)。

pause
endlocal

2.3 添加zookeeper开机自启动

一、通过服务注册zookeeper为windows服务
1、下载zookeeper服务插件commons-daemon-1.0.10-bin-windows.zip
下载地址:http://archive.apache.org/dist/commons/daemon/binaries/windows/
将logfile "server_log.txt"修改logfile "E:\redis\log\server_log.txt"
2、解压commons-daemon-1.0.10-bin-windows.zip将prunmgr.exe 与amd64下的prunsrv.exe复制到 zookeeper的bin路径下
3、在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

4、在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

4、新增ZOOKEEPER_SERVICE环境变量
变量名:ZOOKEEPER_SERVICE
变量值:zkserver如下图
技术分享图片
5、运行bat脚本注册系统服务
在bin路径下,使用组合键Shift+Ctrl+鼠标右键,选择“在此处打开命令行容器”,在弹出的cmd窗口运行如下命令,注册系统服务:

E:\zookeeper\bin> install.bat

6、卸载服务
方法一:使用系统自带的sc命令删除

E:\zookeeper\bin> sc delete zkserver

方法二:通过删除注册表来卸载对应服务
开始→运行(Windows+R)输入regedit 然后依次打开
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services删除对应的服务
二、通过vbs脚本添加到开机自启动
1、编写启动脚本zookeeper-start.bat

%ZOOKEEPER_HOME%\bin\zkServer.cmd

2、添加开机启动,运行shell:Common Startup 打开启动文件夹
技术分享图片
3、在弹出的文件夹里面创建zookeeper-start.vbs脚本(注意核对bat脚本的存放路径,编码使用ANSI)

createobject("wscript.shell").run "E:\\zookeeper\\zookeeper-start.bat",o

2.4 启动与停止zk服务

? 方法一:
启动:进入E:\zookeeper\bin,双击zkServer.cmd启动zk服务;
停止:进入E:\zookeeper\bin,双击zkServerStop.cmd启动zk服务。
? 方法二:
启动:双击zookeeper-start.bat脚本启动zk服务
停止:开始→运行(Windows+R)输入netstat -ano|findstr 2192

tasklist       --列出所有运行的服务
tasklist /svc   --查看服务service服务
taskkill /pid  2136  --将进程pid号2136杀掉
taskkill /f /pid 2136  --强制杀掉pid号2136

? 方法三:
启动:开始→运行(Windows+R)输入services.msc 选中Zookeeper服务,点击左侧的“启动”,并通过命令netstat -ano|findstr 2192查看服务进程
技术分享图片

E:\zookeeper\bin> netstat -ano|findstr 2192
TCP    0.0.0.0:2192           0.0.0.0:0              LISTENING       2136
 TCP    [::]:2192              [::]:0                 LISTENING       2136

停止:开始→运行(Windows+R)输入services.msc 选中Zookeeper服务,点击左侧的“停止”
技术分享图片
注意:停止时报如下提示是正常,点击“确定”关闭窗口即可
技术分享图片

3. Zookeeper加固

3.1 预防DOS***

? 限制zookeeper客户端的最大连接数。

zookeeper\conf\zoo.cfg
maxClientCnxns=60

3.2 修改默认2181端口

? 默认情况下,zookeeper默认使用2181端口,请修改默认监听端口,如本文档使用的是2192

zookeeper\conf\zoo.cfg
clientPort=2192

3.3 添加服务端口防火墙策略

? 打开【控制面板】>【所有控制面板项】>【Windows 防火墙】>【高级设置】
1)点击新建规则;
技术分享图片
2)选择规则类型,点击“下一步”;
技术分享图片
3)根据程序开放端口情况填写,如本文的redis开放7369端口,点击“下一步”;
技术分享图片
4)默认选项,点击“下一步”;
技术分享图片
5)配置文件,根据实际情况选项,点击“下一步”;
技术分享图片
6)填写规则名称与规则描述,方便用户识别,点击“完成“。
技术分享图片

3.4 添加指定IP防火墙策略

1、在3.3章节基础上操作添加指定IP防火墙策略,选中需要配置的规则,右击选择属性
技术分享图片
2、在作用域,远程IP地址,选择添加指定IP策略
技术分享图片
3、可以根据需要,填写某个具体IP地址,或是IP段等策略
技术分享图片
4、应用并确定,添加指定IP防火墙策略成功
技术分享图片

3.5 账号与认证

1、通过zkCli.cmd 进入zookeeper客户端
进入E:\zookeeper\bin
E:\zookeeper\bin> zkCli.cmd -server localhost:2192
2、使用auth方式加密,添加用户名和密码
addauth digest crm:crm#pwd
3、授予/dubbo auth权限
setAcl /dubbo auth:crm:crm#pwd:rwadc
4、查看目录加密后的权限
getAcl /dubbo

3.6 日志清理

? 建议设置对zookeeper日志的定期清理功能,在配置文件中清理日志策略,如下所示:

zookeeper\conf\zoo.cfg
autopurge.snapRetainCount=10
autopurge.purgeInterval=24
参数说明:
autopurge.snapRetainCount=10  //保留多少个快照
autopurge.purgeInterval=24     //多少小时清理一次

3.7 定期升级

4. 结束

Zookeeper安装与调优部署(WinServer)

原文:https://blog.51cto.com/8355320/2634552

(0)
(0)
   
举报
评论 一句话评论(0
© 2014 bubuko.com 版权所有 鲁ICP备09046678号-4
打开技术之扣,分享程序人生!
             

鲁公网安备 37021202000002号