1.zookeeper 简单介绍
zookeeper 是一个分布式的, 开放源码的分布式应用程序协调服务, 我所了解到的主要的使用场景有两个
(1). 微服务注册中心 (Dubbo 较常用 Zookeeper 做注册中心).
(2). 分布式锁.
2. 下载 zookeeper
下载地址: http://mirrors.hust.edu.cn/apache/zookeeper/ http://mirrors.hust.edu.cn/apache/zookeeper/
3. 单机模式安装配置
ZooKeeper 的安装包括单机模式安装, 以及集群模式安装.
单机模式较简单, 是指只部署一个 zk 进程, 客户端直接与该 zk 进程进行通信.
在开发测试环境下, 通过来说没有较多的物理资源, 因此我们常使用单机模式. 当然在单台物理机上也可以部署集群模式, 但这会增加单台物理机的资源消耗. 故在开发环境中, 我们一般使用单机模式.
但是要注意, 生产环境下不可用单机模式, 这是由于无论从系统可靠性还是读写性能, 单机模式都不能满足生产的需求.
解压压缩包
进入 conf 文件夹, 把 zoo_sample.cfg 文件改名成 zoo.cfg
修改 zoo.fig 文件
- dataDir=F:\\zookeeper\\zookeeper-3.5.4-beta\\data
- dataLogDir=F:\\zookeeper\\zookeeper-3.5.4-beta\\log
- admin.serverPort=8082
配置参数说明:
- #tickTime: zookeeper 中使用的基本时间单位, 毫秒值, 服务器和服务器之间或者客户端和服务器之间维持心跳的时间间隔. 每个 tickTime 时间就会发送一个心跳. 最小的 session 过期时间为 2 倍 tickTime.
- #dataDir: 存储内存中数据库快照的位置, 如果不设置参数, 更新事务的日志会被存储到默认位置
- #dataLogDir: log 目录, 同样可以是任意目录. 如果没有设置该参数, 将使用和 dataDir 相同的设置.
- #clientPort: 监听 client 连接的端口号.
- #minSessionTimeout 和 maxSessionTimeout: 最小会话超时时间和最大会话超时时间, 默认情况下 minSessionTimeout=2*tickTime;maxSession=20*tickTime
- #maxClientCnxns: 限制连接的 ZooKeeper 的客户端数量, 并限制并发连接的数量, 通过 IP 来区分不同的客户端. 此配置选项可以阻止某些类别的 Dos 攻击, 将他设置为零或忽略不进行设置将会取消对并发连接的限制.
例如, 将 maxClientCnxns 设置为 1, 有第二个客户端尝试对 ZK 进行连接, 或者有某些隐式的对客户端的连接操作, 将会触发 maxClientCnxns 的配置
4. 启动 zookeepe
启动成功
测试连接
cmd 进入 zookeeper 的 bin 目录, 输入: zkCli.cmd 127.0.0.1:2181
成功如下
来源: http://www.bubuko.com/infodetail-3003377.html