Dubbo之旅--注册中心-Zookeeper

本文涉及的产品
云原生网关 MSE Higress,422元/月
注册配置 MSE Nacos/ZooKeeper,118元/月
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
简介:

本篇文章的主要目的是的介绍Zookeeperwindow环境下的安装。在Window的环境下安装还是比较简单的。

       首先下载一个zookeeper,我下载的版本是zookeeper-3.3.5,解压安装包,解压后的zookeeper安装包放置的路径如下图

 

计算机生成了可选文字:主 页 旯 丘 厉 闫 位 置 B 乐 , Q'ng Ji Qng 山 , 计 簋 机 、 网 路 控 制 面 板 = , 1 十 簋 , 1 , software (D) , Environment , zookeeper & & 5 文 # 夷 文 # 夷 文 # 夷 文 # 夷 文 # 夷 文 # 夷 文 # 夷 文 # 夷 文 # 夷 文 # 夷 文 # 夷 BaiduBrowser H " 文 本 文 性 BalduBrowser H " BaiduBrowser H " 文 本 文 性 文 本 文 性 BaiduBrowser H " 文 本 文 性 JAR 文 # A 文 # MDS 文 # SHAI 文 # V 59 KB 50 KB KB 2 KB 12 KB 2 KB 1 霪 07 KB 0 z00 ; 上 p r & & 5 名 称 conf contrlb data dist-maven META-INF org rec pes build.xml CHANGES.txt ` , m "settings.xml LICENSE.txt NOTICE.txt README.txt zookeeper 335 」 ar zookeeper 引 5.jar “ zookeeper-3 5 」 ar.m 以 5 zookeeper 引 5.jar 、 h31 修 改 日 期 2m4 / 1 / 15 星 期 " 2m4 / 1 / 15 星 期 . " 2m4 / 1 / 15 星 期 . " 2m4 / 1 / 15 星 期 . " 2m4 / 1 / 15 星 期 . " 2m4 / 1 / 15 星 期 . " 2m4 / 1 / 15 星 期 . " 2m4 / 1 / 15 星 期 . " 2m4 / 1 / 15 星 期 " 2m4 / 1 / 15 星 期 . " 2m4 / 1 / 15 星 期 . " 2m2 / 釤 16 星 期 . " 2m2 / 釤 16 星 期 . " 2m2 / 釤 16 星 期 . " 2m2 / 釤 16 星 期 . " 2m2 / 釤 1 5 星 期 . " 2m2 / 釤 16 星 期 . " 2m2 / 釤 1 5 星 期 . " 2m2 / 釤 16 星 期 . " 2m2 / 釤 16 星 期 . " 2m2 / 釤 16 星 期 . " 2m2 / 釤 16 星 期 . " 2m2 / 釤 16 星 期 . "

  2.:进入D:\Environment\zookeeper-3.3.5\conf,将zoo_sample.cfg文件复制一份,并将复制好的文件改名为zoo.cfg。打开新建的zoo.cfg文件,将里面的内容进行修改,修改后的文件内容如下:

  #initLimit=10

  #syncLimit=5

  tickTime=2000

  dataDir=D:\Environment\zookeeper-3.3.5\data  clientPort=2181

 

这里需要注意的是:如果没有更改zoo_sample.cfg的话,在启动zookeeper的时候会发生闪退的现象。

 

  3.接下来需要配置配置环境变量,在“我的电脑”上点击右键,选择属性,再点击高级系统设置,点击环境变量按钮,在系统变量这一栏,点击新建,添加:

变量名:ZOOKEEPER_HOME

变量值:D:\Environment\zookeeper-3.3.5

还是在系统变量这一栏,找到path,点击编辑path,在变量值里添加:%ZOOKEEPER_HOME %/bin; % ZOOKEEPER_HOME %/conf;

  4.启动D:\Environment\zookeeper-3.3.5\bin\  zkServer.cmd  启动成功界面如下:

计算机生成了可选文字:re (D) , Environment , 名 称 Environmentzookeeper 引 5 以 ata README.txt zkCleanup.sh 1 zkCll.cmd zkCli.sh zkEnv.cmd zkEnwsh zkServer.cmd z00 eeper & & 5 , 修 改 日 期 2m4 / 1 / 15 星 期 . " 2m2 / 釤 16 星 期 . " 2m2 / 釤 16 星 期 . " 2m2 / 釤 16 星 期 . " 2m2 / 釤 16 星 期 . " 2m2 / 釤 16 星 期 . " 2012 / 16 星 期 . " 201 釤 7 / 10 星 期 " . 文 # 夷 文 本 文 性 SH 文 Windows “ 本 SH Windows “ 本 SH 文 Windows “ . 。 冷 本 2 2 2 2 2 KB KB KB KB KB KB : ø? : ø? : ø? : ø? : ø? : ø8 , : ø8 , : ø8 , : ø8 , : ø8 , 1g4 Iø5 1g7 1g8 1g9 11 ø ø15 一 ø2 一 28 ø15 一 ø2 一 28 h:amd64 ø15 一 ø2 一 28 s io n = 6 . 2 øø øø øø øø øø C:XWindowsXsystem32Xcmd.exe 丨 NFO 丨 NFO 丨 NFO 丨 NFO 丨 NFO 丨 NFO : En u iro n me n t@97 ] : En u iro n me n t@97 ] : En u iro n me n t@97 ] : En u iro n me n t@97 ] : En u iro n me n t@97 ] : En u iro n me n t@97 ] . 3 . 5 ` in :ZooKeeperSeruere6?31 :ZooKeeperSeruere6821 :ZooKeeperSeruere6911 . 0 S . 0 S . 0 S . n a . e ø15 ø15 0 e ø15 一 ø2 一 28 —Qing 一 ø2 一 28 —C : 、 ] s e rs XQing 一 ø2 一 28 øø : W? : ø8 , : n me n t Vookeeper—3 ø15 一 ø2 一 28 ø15 一 ø2 一 28 t t 0 一 1 ø15 一 ø2 一 28 t t 0 一 1 ø15 一 ø2 一 28 øø : ø? øø : ø? øø : ø? øø : ø? : ø8 , : ø8 , : ø8 , : ø8 , 12 ø 12 ø 121 146 丨 NFO 丨 NFO 丨 NFO 丨 NFO 丨 NFO t ickT ime s e t t 0 2øø in S e S S n 0 S :NIOSeruerCnxn$Factorye1431 binding t 0 PO :Fi1eSnape821 Reading snapshot D : En iFO n 一 2 Xsnapshot . 2 3 9 Imain :Fi1eTxnSnapLoge2541 Snapshotting: 2 3 9 t ø . ø . ø . ø/ø . ø . ø ø15 一 ø2 一 28 øø : ø? ntzookeeper—3 . 3 ø15 一 ø2 一 28 øø : ø? . ø : 2181 : ø8 , 167 . 5 a e n : ø8 , 181 丨 NFO

 

 

以上的安装是在Windows下的单机安装,接下来来进行多个机器配置Zookeeper

首先需要在两台服务器AB上分别安装Zookeeper,重复上面的流程。

 

  接下来在zoo.cfg添加如下配置

  initLimit=5

  syncLimit=2

  tickTime=2000

  dataDir=D:\Environment\zookeeper-3.3.5\data

  clientPort=2181

  server.1=A:Aport:Aport2

  server.2=B:Bport:Bport2

 

这里需要对以下的几个参数进行解释一下。

 

  tickTime:这个时间是作为Zookeeper 服务器之间或客户端与服务器之间维持心跳的时间间隔,也就是每个 tickTime 时间就会发送一个心跳。

 

  dataDir:顾名思义就是Zookeeper 保存数据的目录,默认情况下,Zookeeper 将写数据的日志文件也保存在这个目录里。

 

  clientPort:这个端口就是客户端连接Zookeeper 服务器的端口,Zookeeper 会监听这个端口,接受客户端的访问请求。

 

  initLimit:这个配置项是用来配置Zookeeper 接受客户端(这里所说的客户端不是用户连接 Zookeeper 服务器的客户端,而是 Zookeeper 服务器集群中连接到 Leader的 Follower 服务器)初始化连接时最长能忍受多少个心跳时间间隔数。当已经超过 5个心跳的时间(也就是 tickTime)长度后 Zookeeper服务器还没有收到客户端的返回信息,那么表明这个客户端连接失败。总的时间长度就是 5*2000=10 秒。

 

  syncLimit:这个配置项标识Leader 与 Follower 之间发送消息,请求和应答时间长度,最长不能超过多少个 tickTime 的时间长度,总的时间长度就是 2*2000=4秒。

 

  server.A=B:C:D:其中 A是一个数字,表示这个是第几号服务器;B 是这个服务器的 ip 地址;C 表示的是这个服务器与集群中的 Leader 服务器交换信息的端口;D表示的是万一集群中的 Leader 服务器挂了,需要一个端口来重新进行选举,选出一个新的Leader,而这个端口就是用来执行选举时服务器相互通信的端口。如果是伪集群的配置方式,由于 B 都是一样,所以不同的 Zookeeper实例通信端口号不能一样,所以要给它们分配不同的端口号。

 

  3:D:\Environment\zookeeper-3.3.5\data下创myid文件myid的文件内容分别为:1、2 。

  4:分别启动两个zookeeper,在一台机器上创建节点,另一个机器能同步过去证明成功。

  5:zookeeper服务器推荐用奇数个,半数以上服务正常,整个服务就正常。

 

 

       至此我们就完成了Zookeeper在本地的安装,它已经具备注册中心的功能,并且可以使用了。

相关实践学习
基于MSE实现微服务的全链路灰度
通过本场景的实验操作,您将了解并实现在线业务的微服务全链路灰度能力。
相关文章
|
1月前
|
安全 应用服务中间件 API
微服务分布式系统架构之zookeeper与dubbo-2
微服务分布式系统架构之zookeeper与dubbo-2
|
10天前
|
存储 负载均衡 监控
dubbo学习一:zookeeper与dubbo的关系,下载安装启动zookeeper(解决启动中报错)
这篇文章是关于Apache Dubbo框架与Zookeeper的关系,以及如何下载、安装和启动Zookeeper的教程,包括解决启动过程中可能遇到的报错问题。
27 3
dubbo学习一:zookeeper与dubbo的关系,下载安装启动zookeeper(解决启动中报错)
|
10天前
|
监控 Dubbo Java
dubbo学习三:springboot整合dubbo+zookeeper,并使用dubbo管理界面监控服务是否注册到zookeeper上。
这篇文章详细介绍了如何将Spring Boot与Dubbo和Zookeeper整合,并通过Dubbo管理界面监控服务注册情况。
21 0
dubbo学习三:springboot整合dubbo+zookeeper,并使用dubbo管理界面监控服务是否注册到zookeeper上。
|
2月前
|
XML Java 数据格式
Spring Cloud全解析:注册中心之zookeeper注册中心
使用ZooKeeper作为Spring Cloud的注册中心无需单独部署服务器,直接利用ZooKeeper服务端功能。项目通过`spring-cloud-starter-zookeeper-discovery`依赖实现服务注册与发现。配置文件指定连接地址,如`localhost:2181`。启动应用后,服务自动注册到ZooKeeper的`/services`路径下,形成临时节点,包含服务实例信息。
229 3
|
2月前
|
Dubbo 网络协议 Java
深入掌握Dubbo服务提供者发布与注册原理
该文章主要介绍了Dubbo服务提供者发布与注册的原理,包括服务发布的流程、多协议发布、构建Invoker、注册到注册中心等过程。
深入掌握Dubbo服务提供者发布与注册原理
|
3月前
|
Nacos 微服务
Zookeeper 的 ZAB 协议 以及 zookeeper 与 nacos 注册中心比对
Zookeeper 的 ZAB 协议 以及 zookeeper 与 nacos 注册中心比对
63 4
|
3月前
|
Java Spring
spring cloud gateway在使用 zookeeper 注册中心时,配置https 进行服务转发
spring cloud gateway在使用 zookeeper 注册中心时,配置https 进行服务转发
82 3
|
4月前
|
缓存 NoSQL 数据库
分布式系统面试全集通第一篇(dubbo+redis+zookeeper----分布式+CAP+BASE+分布式事务+分布式锁)
分布式系统面试全集通第一篇(dubbo+redis+zookeeper----分布式+CAP+BASE+分布式事务+分布式锁)
98 0
|
5月前
|
Dubbo Java 应用服务中间件
微服务学习 | Springboot整合Dubbo+Nacos实现RPC调用
微服务学习 | Springboot整合Dubbo+Nacos实现RPC调用
|
2月前
|
Dubbo Java 应用服务中间件
💥Spring Cloud Dubbo火爆来袭!微服务通信的终极利器,你知道它有多强大吗?🔥
【8月更文挑战第29天】随着信息技术的发展,微服务架构成为企业应用开发的主流模式,而高效的微服务通信至关重要。Spring Cloud Dubbo通过整合Dubbo与Spring Cloud的优势,提供高性能RPC通信及丰富的生态支持,包括服务注册与发现、负载均衡和容错机制等,简化了服务调用管理并支持多种通信协议,提升了系统的可伸缩性和稳定性,成为微服务通信领域的优选方案。开发者仅需关注业务逻辑,而无需过多关心底层通信细节,使得Spring Cloud Dubbo在未来微服务开发中将更加受到青睐。
77 0