zookeeper-zookeeper在windows上部署

1. 安装与配置

zookeeper下载地址:

https://mirrors.cnnic.cn/apache/zookeeper/zookeeper-3.7.0/

zookeeper解压到目标位置:
在这里插入图片描述
修改zookeeper配置文件:
在zookeeper包目录下的conf文件夹下创建一个zoo.cfg配置文件或者复制z_sample.cfg文件并进行修改

// 心跳间隔
tickTime=2000
// 镜像数据位置
dataDir=D:\\apache-zookeeper-3.7.0-bin\\data1
// 日志输出位置
dataLogDir=D:\\apache-zookeeper-3.7.0-bin\\log1
// 客户端链接端口
clientPort=2181
initLimit = 5
syncLimit = 2

创建对应的数据存储目录与日志输出目录
在这里插入图片描述
两个文件夹的位置必须与配置文件中的一致。

2. 运行测试

启动测试
进入到bin目录
在这里插入图片描述
运行zkService.cmd
在这里插入图片描述
在这里插入图片描述
使用JPS测试查看进程:
在这里插入图片描述
运行后可以查看到QuorumPeerMain的进程,zookeeper启动成功!

3.伪集群配置

上述内容为zookeeper的单个应用搭建。一下内容将实现zookeeper的单机集群搭建。
所谓单机搭建zookeeper集群其实就是在一台机器上启动多个zookeeper,在启动每个zookeeper时分别使用不同的配置文件zoo.cfg来启动,每个配置文件使用不同的配置参数(clientPort端口号、dataDir数据目录、dataLogDir数据日志目录)在同一台机器上启动多次。

3.1配置zoo文件

首先在zookeeper配置目录下创建需要集群数量的zoo.cfg文件(以2个为例)分别为:zoo1.cfg,zoo2.cfg
在这里插入图片描述
配置内容设置
zoo1.cfn配置

tickTime=2000
dataDir=D:\\apache-zookeeper-3.7.0-bin\\data1
dataLogDir=D:\\apache-zookeeper-3.7.0-bin\\log1
clientPort=2181
initLimit = 5
syncLimit = 2

server.1=localhost:2887:3887
server.2=localhost:2888:3888

zoo2.cfn配置

tickTime=2000
dataDir=D:\\apache-zookeeper-3.7.0-bin\\data2
dataLogDir=D:\\apache-zookeeper-3.7.0-bin\\log2
clientPort=2182
initLimit = 5
syncLimit = 2

server.1=localhost:2887:3887
server.2=localhost:2888:3888
  • tickTime: 基本事件单元,以毫秒为单位。这个时间是作为zookeeper服务器之间或客户端与服务器间维持心跳的时间。也就是每隔tickTime时间就会发送一个心跳
  • dataDir: 存储内存中数据库快照的位置,就是zookeeper保存数据的目录,默认情况下,zookeeper将数据的日志问也保存在这个目录里
  • clientPort: 客户端连接zookeeper服务器的端口,默认是2181,zookeeper会监听这个端口,接收客户端的访问请求
  • initLimit: 这个配置项是用来配置zookeeper接收客户端初始化连接能忍受多少个心跳时间间隔数。当已经超过10个心跳的时间(tickTime)长度后,zookeeper服务器还没有接收到客户端的返回信息,那么表明这个客户端连接失败。总的时间长度就是 10*2000 = 20 秒
  • syncLimit: 这个配置项标识Leader和Follower之间发送消息,请求和应答的长度,最长不能超过多少个tickTime的时间长度,总的时间长度就是 5 * 2000 = 10秒
  • server.myid=IP:Port1:Port2, myid是服务器的编号,一个正整数,port1表示的是服务器与集群中的Leader服务器交换信息的端口,一般用2288(具体自己定义),Port2表示的是万一集群中的Leader服务器宕机了,需要一个端口来重新进行宣讲,选出一个新的Leader,一般用3388(具体自己定义)

3.2配置log与data目录

分别在zookeeper目录下创建data1,data2,log1,log2文件夹,并在data目录下创建myid文件,用于服务启动运行时通过服务编码找到数据存放位置。所以myid中的编码与对应配置文件中的服务编号为一致。
data1/myid

1

data2/myid

2

3.3 配置zookeeper服务启动器

在此处将创建两个zookeeper服务启动器,并分别绑定到对应的服务上。
在这里插入图片描述
zkServer1.cmd配置

setlocal
call "%~dp0zkEnv.cmd"

set ZOOCFG=D:/apache-zookeeper-3.7.0-bin/conf/zoo1.cfg	// 指定启动的服务
set ZOOMAIN=org.apache.zookeeper.server.quorum.QuorumPeerMain
set ZOO_LOG_FILE=zookeeper-%USERNAME%-server-%COMPUTERNAME%.log

echo on
call %JAVA% "-Dzookeeper.log.dir=%ZOO_LOG_DIR%" "-Dzookeeper.root.logger=%ZOO_LOG4J_PROP%" "-Dzookeeper.log.file=%ZOO_LOG_FILE%" "-XX:+HeapDumpOnOutOfMemoryError" "-XX:OnOutOfMemoryError=cmd /c taskkill /pid %%%%p /t /f" -cp "%CLASSPATH%" %ZOOMAIN% "%ZOOCFG%" %*

endlocal

zkServer2.cmd配置

setlocal
call "%~dp0zkEnv.cmd"

set ZOOCFG=D:/apache-zookeeper-3.7.0-bin/conf/zoo2.cfg
set ZOOMAIN=org.apache.zookeeper.server.quorum.QuorumPeerMain
set ZOO_LOG_FILE=zookeeper-%USERNAME%-server-%COMPUTERNAME%.log

echo on
call %JAVA% "-Dzookeeper.log.dir=%ZOO_LOG_DIR%" "-Dzookeeper.root.logger=%ZOO_LOG4J_PROP%" "-Dzookeeper.log.file=%ZOO_LOG_FILE%" "-XX:+HeapDumpOnOutOfMemoryError" "-XX:OnOutOfMemoryError=cmd /c taskkill /pid %%%%p /t /f" -cp "%CLASSPATH%" %ZOOMAIN% "%ZOOCFG%" %*

endlocal

到此配置完毕

4.伪集群测试

分别启动上述两个服务

.\skServer1.cmd

.\skServer2.cmd

在这里插入图片描述
使用jsp测试:
在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值