安装以及简单使用zookeeper

本文来说下如何在Windows环境下安装以及简单的使用zookeeper


概述

ZooKeeper是开源分布式协调服务组件,提供高可用、高性能、稳定的分布式数据一致性解决方案,通常被用于实现诸如数据发布/订阅、负载均衡、命名服务、分布式协调/通知、集群管理、Master选举、分布式锁和分布式队列等功能。

由于我现在的开发测试环境是在windows下面,所以本文是基于windows环境来安装zookeeper的。zookeeper在平时的开发中一般是配合dubbo作为配置中心,或者作为kafka的高可用协调服务,但是在最新版本的kafka中,kafka已经不需要依赖zookeeper了。zookeeper还有一个常见的功能是来开发一个分布式锁。作为一个协调服务,zookeeper原本是开发来协调hbase,kafka等大数据组件的分布式一致性的。作为一个典型的CP组件,学习和熟练使用zookeeper还是十分有必要的,对分布式的掌握和理解有很大的提高。

在这里插入图片描述


安装包下载

进入要下载的版本目录,选择tar.gz文件下载,如有带bin名称则选它。带有bin名称的包才是我们想要的下载可以直接使用的里面有编译后的二进制的包,而之前的普通的tar.gz的包里面是只是源码的包无法直接使用。zookeeper在windows和Linux都是这同一个压缩包

在这里插入图片描述

下载地址如下 :https://mirrors.cnnic.cn/apache/zookeeper/


安装过程

解压下载的tar.gz文件到你指定目录下

在这里插入图片描述

将conf目录下的zoo_sample.cfg文件,复制一份,重命名为zoo.cfg

在这里插入图片描述

在安装目录下面新建一个空的data文件夹和log文件夹

在这里插入图片描述

修改zoo.cfg配置文件,将dataDir=/tmp/zookeeper修改成zookeeper安装目录

在这里插入图片描述

再来说一下配置文件中的参数

  • tickTime:ZK中的一个时间单元。ZK中所有时间都是以这个时间单元为基础,进行整数倍配置的。例如,session的最小超时时间是2*tickTime。(还有一种理解:作为 Zookeeper 服务器之间或客户端与服务器之间维持心跳的时间间隔,也就是每个 tickTime 时间就会发送一个心跳。)
  • initLimit:Follower在启动过程中,会从Leader同步所有最新数据,然后确定自己能够对外服务的起始状态。Leader允许F在 initLimit 时间内完成这个工作。通常情况下,我们不用太在意这个参数的设置。如果ZK集群的数据量确实很大了,F在启动的时候,从Leader上同步数据的时间也会相应变长,因此在这种情况下,有必要适当调大这个参数了。(No Java system property)
  • syncLimit:在运行过程中,Leader负责与ZK集群中所有机器进行通信,例如通过一些心跳检测机制,来检测机器的存活状态。如果L发出心跳包在syncLimit之后,还没有从F那里收到响应,那么就认为这个F已经不在线了。注意:不要把这个参数设置得过大,否则可能会掩盖一些问题。(No Java system property)
  • dataDir:存储快照文件snapshot的目录。默认情况下,事务日志也会存储在这里。建议同时配置参数dataLogDir, 事务日志的写性能直接影响zk性能。
  • dataLogDir:事务日志输出目录。尽量给事务日志的输出配置单独的磁盘或是挂载点,这将极大的提升ZK性能。
  • clientPort:客户端连接server的端口,即对外服务端口,Zookeeper 会监听这个端口,接受客户端的访问请求。一般设置为2181。
  • maxClientCnxns:单个客户端与单台服务器之间的连接数的限制,是ip级别的,默认是60,如果设置为0,那么表明不作任何限制。请注意这个限制的使用范围,仅仅是单台客户端机器与单台ZK服务器之间的连接数限制,不是针对指定客户端IP,也不是ZK集群的连接数限制,也不是单台ZK对所有客户端的连接数限制。
  • autopurge.snapRetainCount:这个参数和下面的参数搭配使用,这个参数指定了需要保留的文件数目。默认是保留3个。
  • autopurge.purgeInterval:3.4.0及之后版本,ZK提供了自动清理事务日志和快照文件的功能,这个参数指定了清理频率,单位是小时,需要配置一个1或更大的整数,默认是0,表示不开启自动清理功能。

配置环境变量

1.添加变量 ZOOKEEPER_HOME
变量值:D:\Program Files\apache-zookeeper-3.6.1-bin(就是你解压的路径啦~)

2.修改变量 PATH
添加内容:;%ZOOKEEPER_HOME%\bin;%ZOOKEEPER_HOME%\conf

因为zookeeper的运行是依赖jdk中的java命令的,所以在安装zookeeper的时候,必须首先安装jdk

在这里插入图片描述

安装过程中如果出现–JAVA_HOME is not set

在这里插入图片描述

在zkEnv.cmd中添加本地jdk的安装路径即可,让zookeeper可以调用jdk的java命令

在这里插入图片描述

Windows下Zookeeper启动zkServer.cmd闪退问题的解决方案

在这里插入图片描述

如果一切正常,没有出现如何的问题,你会看到如下的画面

在这里插入图片描述

打开zk的客户端

在这里插入图片描述


本文小结

本文详细介绍了zookeeper的安装过程,以及安装的过程中可能会出现的问题。后文会使用springboot整合zookeeper来实现分布式锁等常见的功能。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值