Windows下Zookeeper安装及配置

一、zookeeper简介
ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。

ZooKeeper的目标就是封装好复杂易出错的关键服务,将简单易用的接口和性能高效、功能稳定的系统提供给用户。

ZooKeeper包含一个简单的原语集,提供Java和C的接口。

ZooKeeper代码版本中,提供了分布式独享锁、选举、队列的接口,代码在$zookeeper_home\src\recipes。其中分布锁和队列有Java和C两个版本,选举只有Java版本。(源自:360百科)

二、可实现功能
分布式应用程序可以基于 ZooKeeper 实现如下功能:
数据发布/订阅、负载均衡、命名服务、分布式协调/通知、集群管理、Master 选举、分布式锁和分布式队列等功能。

三、下载
进入要下载的版本目录,选择tar.gz文件下载,如有带bin名称则选它。
带有bin名称的包才是我们想要的下载可以直接使用的里面有编译后的二进制的包,而之前的普通的tar.gz的包里面是只是源码的包无法直接使用。
如图:
Windows下Zookeeper安装及配置_第1张图片
下载地址:https://mirrors.cnnic.cn/apache/zookeeper/

四、安装
1.解压下载的tar.gz文件到你指定目录下。举个栗子:D:\Program Files\apache-zookeeper-3.6.1-bin
2.修改配置文件
2.1.将 D:\Program Files\apache-zookeeper-3.6.1-bin\conf 下的 zoo_sample.cfg 改为 zoo.cfg
2.2.编辑zoo.cfg(主要修改文件位置,具体配置如下)

# The number of milliseconds of each tick
tickTime=2000
# The number of ticks that the initial 
# synchronization phase can take
initLimit=10
# The number of ticks that can pass between 
# sending a request and getting an acknowledgement
syncLimit=5
# the directory where the snapshot is stored.
# do not use /tmp for storage, /tmp here is just 
# example sakes.
dataDir=D:\\Program Files\\apache-zookeeper-3.6.1-bin\\data
dataLogDir=D:\\Program Files\\apache-zookeeper-3.6.1-bin\\log
# the port at which the clients will connect
clientPort=2181
# the maximum number of client connections.
# increase this if you need to handle more clients
#maxClientCnxns=60
#
# Be sure to read the maintenance section of the 
# administrator guide before turning on autopurge.
#
# http://zookeeper.apache.org/doc/current/zookeeperAdmin.html#sc_maintenance
#
# The number of snapshots to retain in dataDir
#autopurge.snapRetainCount=3
# Purge task interval in hours
# Set to "0" to disable auto purge feature
#autopurge.purgeInterval=1

## Metrics Providers
#
# https://prometheus.io Metrics Exporter
#metricsProvider.className=org.apache.zookeeper.metrics.prometheus.PrometheusMetricsProvider
#metricsProvider.httpPort=7000
#metricsProvider.exportJvmInfo=true

也就是这里啦~
Windows下Zookeeper安装及配置_第2张图片
2.3.这个不是步骤,只是做个补充,解释一下为什么要将 zoo_sample.cfg 改为 zoo.cfg
在D:\Program Files\apache-zookeeper-3.6.1-bin\bin目录下的 zkEnv.cmd 脚本文件是设置zookeeper启动时的环境变量,而需要读取cfg的默认配置项为zoo.cfg,所以我们通常会修改zoo_sample.cfg 为 zoo.cfg。了解到这个之后,我们也可以将 zkEnv.cmd 中的配置项修改为 zoo_sample.cfg,而不一定要修改文件名。(不过当然直接改名字方便一点啦~)
Windows下Zookeeper安装及配置_第3张图片

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

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

五、配置环境变量
1.添加变量 ZOOKEEPER_HOME
变量值:D:\Program Files\apache-zookeeper-3.6.1-bin(就是你解压的路径啦~)
2.修改变量 PATH
添加内容:;%ZOOKEEPER_HOME%\bin;%ZOOKEEPER_HOME%\conf

为什么配置环境变量?
当你在一个文件夹下编辑一个源程序时,等你编辑完时,在命令提示符下编译时,系统会按照你设置的环境变量及Path里的路径去寻找你所编辑的源程序然后编译它。如果你没设置,系统就找不到你所编辑的源程序在哪啦~

六、启动
进入到bin目录,并且启动zkServer.cmd,这个脚本中会启动一个java进程
出现如下界面代表安装成功~
Windows下Zookeeper安装及配置_第4张图片
如果不幸出现这个界面,请移步到 三、下载 查看是否下载错了tar.gz文件吼~
Windows下Zookeeper安装及配置_第5张图片

就这样,┏(^0^)┛掰掰~

你可能感兴趣的:(安装,zookeeper)