ZooKeeper安装与配置集群

简介:
是一个分布式的,开放源码的分布式应用程序协调服务,是和Hbase的重要组件 。它是一个为分布式应用提供一致性服务的软件,它提供了一个分布式环境中的高可用性、高性能、有序访问的数据存储,可以让分布式应用程序能够实现高效协调 。提供的功能包括:配置维护、域名服务、分布式同步、组服务等 。
的目标就是封装好复杂易出错的关键服务,将简单易用的接口和性能高效、功能稳定的系统提供给用户,让应用程序开发人员可以专注于应用程序的业务逻辑而不必关心协调任务的具体细节 。包含一个简单的原语集,提供Java和C的接口 。代码版本中,提供了分布式独享锁、选举、队列的接口,代码在$\src\ 。其中分布锁和队列有Java和C两个版本,选举只有Java版本 。
的优点包括:
高可靠性:是一个高可靠的分布式协调服务,可以保证数据的一致性和完整性 。可扩展性:支持动态扩展和缩减,可以根据需求调整资源的分配 。易用性:提供了简单的原语集,使得开发者可以快速实现分布式应用 。安全性:使用SSL加密通信,保证数据传输的安全性 。
是一个强大且灵活的分布式协调服务,适用于大规模分布式系统的场景 。
下载路径
Index of ///-3.7.1
注意:3.5.5开始的版本要下载尾部有bin 别问为什么会报错
3.5.5开始,带有bin名称的包才是我们想要的下载可以直接使用的,里面有编译后的二进制的包 。之前版本tar.gz包里面是只是源码包,无法直接使用 。
配置环境变量
检测是否在系统变量path中配置%%\bin 如果没有新建配置一下
说明
当前是的一个伪集群,正常的生产环境中分别部署到每一台机器上,也不是而是容器或linux中 。
为什么是集群不是单机当然是保证系统高可用了 。开始吧.........
解压目录
打开conf中的.cfg,修改后另存为zoo.cfg,原始(.cfg)文件不会被执行 。
参数解析zoo.cfg文件
1.:CS通信心跳时间 服务器之间或客户端与服务器之间维持心跳的时间间隔,也就是每个时间就会发送一个心跳 。以毫秒为单位 。=2000
2.:LF初始通信时限集群中的服务器(F)与服务器(L)之间初始连接时能容忍的最多心跳数(的数量) 。=5
3.:LF同步通信时限集群中的服务器与服务器之间请求和应答之间能容忍的最多心跳数(的数量) 。=2
4.:数据文件目录保存数据的目录,默认情况下,将写数据的日志文件也保存在这个目录里 。=/home///
5.:客户端连接端口客户端连接服务器的端口,会监听这个端口,接受客户端的访问请求 。=2181
6.服务器名称与地址:集群信息(服务器编号,服务器地址,LF通信端口,选举端口)规则如下:集群分布模式,.id(数字)=ip:集群交互端口:选举端口
.1=:2287:3387
.2=:2288:3388
.3=:2289:3389
修改配置
注意: 下面路径单斜 " \ " 会当做是转义符处理 " \\ " 斜杠可以解决 。(单机没问题 如果是集群 必报错)
#数据文件目录dataDir=D:\work\zookeeperColony\apache-zookeeper-3.7.1-bin-server1\data#日志文件目录dataLogDir=D:\work\zookeeperColony\apache-zookeeper-3.7.1-bin-server1\logs#伪集群分布模式,server.id(注意是数字)=ip:集群交互端口:选举leader端口server.1=localhost:2287:3387server.2=localhost:2288:3388server.3=localhost:2289:3389
在、 、 、分别创建 data 文件夹,data中创建myid文件(注意:不需要任何后缀),myid文件内容分别为1、2、3(对应的各.id) 。
注意: 集群启动时要检查是否有该文件,如果没有话,会报错!