【SpringCloud学习笔记】Zookeeper服务注册
注册中心Zookeeper
zookeeper是一个分布式协调工具,可以实现注册中心功能
关闭Linux服务器防火墙后启动zookeeper服务器
zookeeper服务器取代Eureka服务器,zk作为服务注册中心
前置条件
- 已安装JDK
- 已配置了环境变量JAVA_HOME,PATH
环境配置
-
下载最新版的zookeeper
官网地址:https://zookeeper.apache.org/releases.html
-
解压至apache-zookeeper-3.7.0-bin
-
复制D:\Java\workPlace\202101\apache-zookeeper-3.7.0-bin\conf\zoo-sample.cfg,粘贴为D:\Java\workPlace\202101\apache-zookeeper-3.7.0-bin\conf\zoo.cfg。
-
修改zoo.cfg
主要是修改dataDir
tickTime=2000 initLimit=10 syncLimit=5 dataDir=D:\\Java\\workPlace\\202101\\zookeeper\\data clientPort=2181
tickTime:这个时间是作为 Zookeeper 服务器之间或客户端与服务器之间维持心跳的时间间隔,也就是每个 tickTime 时间就会发送一个心跳。 initLimit:LF初始通信时限,集群中的follower服务器(F)与leader服务器(L)之间初始连接时能容忍的最多心跳数(tickTime的数量)。 syncLimit:LF同步通信时限,集群中的follower服务器与leader服务器之间请求和应答之间能容忍的最多心跳数(tickTime的数量)。 dataDir:顾名思义就是 Zookeeper 保存数据的目录,默认情况下,Zookeeper 将写数据的日志文件也保存在这个目录里。 clientPort:客户端连接端口,这个端口就是客户端连接 Zookeeper 服务器的端口,Zookeeper 会监听这个端口,接受客户端的访问请求 autopurge.snapRetainCount:保留数量。 autopurge.purgeInterval:清理时间间隔,单位:小时。 server.N = YYY:A:B,其中N表示服务器编号,YYY表示服务器的IP地址,A为LF通信端口,表示该服务器与集群中的leader交换的信息的端口。B为选举端口,表示选举新leader时服务器间相互通信的端口(当leader挂掉时,其余服务器会相互通信,选择出新的leader)。一般来说,集群中每个服务器的A端口都是一样,每个服务器的B端口也是一样。但是当所采用的为伪集群时,IP地址都一样,只能时A端口和B端口不一样。
-
启动Zookeeper服务器
zkServer.cmd
在bin目录下执行
-
使用客户端连接Zookeeper服务
zkCli.cmd -server 127.0.0.1:2181
在bin目录下执行