Windows Install ZooKeeper

笔者认为只要能在Windows下运行的项目,在MacOS、Linux出现问题的概率会很小,所以此次选择在Windows环境下安装运行zookeeper项目。

1.下载地址

ZooKeeper下载地址

2.解压安装

使用解压工具对压缩包进行解压

3.配置参数
  • 进入conf文件夹
  • 复制zoo_sample.cfg文件为zoo.cfg
  • 配置参数
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    # 服务器客户端心跳间隔(毫秒)
    tickTime=2000
    # 初始化连接忍受多少个tickTime时间间隔
    initLimit=10
    # leader与follower发送消息,请求应答时间,不能超过多少个tickTime
    syncLimit=5
    # 数据存放位置
    dataDir=F:\\zookeeper-3.4.13\\data
    # 日志存放位置
    dataLogDir=F:\\zookeeper-3.4.13\\log
    # 开启端口号
    clientPort=2181
    # server.X=A:B:C X-代表服务器编号 A-代表ip B和C-代表端口,这个端口用来系统之间通信
    # 配置集群 需要在dataDir文件内增加myid文件,文件内容为相应服务器编号
    server.1=localhost:2888:3888
    server.2=localhost:2889:3889
    server.3=localhost:2890:3890
4.启动
Server:
1
zkServer.cmd
Client
1
zkCli.cmd
5.授权管理
ZOOKEEPER权限分为:
  • CREATE: 你可以创建子节点。
  • READ: 你可以获取节点数据以及当前节点的子节点列表。
  • WRITE: 你可以为节点设置数据。
  • DELETE: 你可以删除子节点。
  • ADMIN: 可以为节点设置权限。
CreateMode节点创建方式
  • PERSISTENT:客户端与zookeeper断开连接后,该节点依旧存在
  • PERSISTENT_SEQUENTIAL:客户端与zookeeper断开连接后,该节点依旧存在,只是Zookeeper给该节点名称进行顺序编号
  • EPHEMERAL:客户端与zookeeper断开连接后,该节点被删除
  • EPHEMERAL_SEQUENTIAL:客户端与zookeeper断开连接后,该节点被删除,只是Zookeeper给该节点名称进行顺序编号
ZOOKEEPER命令:

创建node

1
create /acl acl

查看节点列表

1
ls /

查看节点信息

1
get /

设置节点信息

1
set / info

删除节点

1
delete /

通过setAcl设置用户名和密码

1
2
setAcl path digest:username:base64(sha1(password)):crwda
setAcl /acl digest:zookeeper:4lvlzsipXVaEhXMd+2qMrLc0at8=:r

认证

1
addauth digest username:password

zookeeper源码地址​github.com