1. Zookeeper下载
1.1. Zookeeper官方网址: https://zookeeper.apache.org/index.html
1.2. 选择Project下的Releases来到下载页面
1.3. 点击Apache ZooKeeper 3.7.0来到该版本的下载页面
1.4. 开始下载安装包
1.5. 点击Apache ZooKeeper 3.7.0 Source Release下载源码
1.6. 开始下载源码包
2. Linux下安装ZooKeeper
2.1. 使用Xftp 6工具上传apache-zookeeper-3.7.0-bin.tar.gz到/usr/local/目录下。
2.2. 解压apache-zookeeper-3.7.0-bin.tar.gz。
2.3. 进入apache-zookeeper-3.7.0-bin/conf/目录下, 重命名zoo_sample.cfg为zoo.cfg。
2.4. 编辑zoo.cfg文件。
2.5. 更改dataDir(数据存储目录)为/usr/local/apache-zookeeper-3.7.0-bin/data, 此时我们并没有建立这个data目录, 首次启动zookeeper会自动新建, 当然我们事先建立好这个文件夹也是很好的, 保存并退出。
2.6. 使用Xftp 6工具上传jdk-8u11-linux-i586.tar.gz到/usr/local/java目录, 这个java目录是我们在/usr/local/目录下新建的。(ZooKeeper需要Java环境, 如果你已经有Java环境, 略过)。
2.7. 解压jdk-8u11-linux-i586.tar.gz
2.8. 编辑环境变量文件
2.9. 添加Java环境变量, 保存并退出。
2.10. 使配置文件生效
2.11. 查看Java版本, 报缺少glibc错误(如果你没有这个错误忽略)
2.12. 安装sudo yum install glibc.i686
2.13. 再次查看Java版本
2.14. 启动zkServer.sh报没有找到Java环境变量的错误(如果你没有这个错误忽略)
2.15. 编辑zk的环境变量
2.16. 添加JAVA_HOME, 然后保存并退出。
2.17. 启动zk服务。
2.18. 进入zk客户端。
2.19. 查看ZooKeeper命令, 虽然它没有help命令, 但是使用help也可以看到命令大全。
2.20. 查看ZooKeeper版本。
2.21. 创建一个节点。
2.22. 获取一个节点。
2.23. 查看data目录里的数据。
3. Windows下安装ZooKeeper
3.1. 解压apache-zookeeper-3.7.0-bin.tar.gz
3.2. 进入conf目录, 拷贝zoo_sample.cfg命名为zoo.cfg
3.3. 编辑zoo.cfg, 修改dataDir为./../data, 当前启动目录上一级的data目录, 保存数据, 首次启动zookeeper会自动新建, 当然我们事先建立好这个文件夹也是很好的。启动目录我们使用bin目录。
3.4. bin目录下找到zkServer.cmd
3.5. Win 10下启动PowerShell, 进入bin目录, 启动zkServer.cmd, 报了一个ZooKeeper audit is disabled的提示。(如果你没有这个提示忽略)
3.6. ZooKeeper新版本启动的过程中, ZooKeeper新增的审核日志是默认关闭, 所以控制台输出ZooKeeper audit is disabled, 标准的修改方式应该是在ZooKeeper的配置文件zoo.cfg新增一行audit.enable=true即可。
3.7. 再次启动
3.8. 启动zkCli.cmd
3.9. 创建一个节点
3.10. 获取一个节点
3.11. 查看data目录里的数据
4. 常规配置文件说明
4.1. tickTime=2000, 基本事件单元, 以毫秒为单位。这个时间是作为ZooKeeper服务器之间或客户端与服务器之间维持心跳的时间间隔, 也就是每隔tickTime时间就会发送一个心跳。
4.2. initLimit=10, 这个配置项是用来配置ZooKeeper接受客户端初始化连接时最长能接受多少个心跳时间间隔数, 当已经超过10个心跳的时间(也就是tickTime)长度后ZooKeeper服务器还没有收到客户端的返回信息, 那么表明这个客户端连接失败。总的时间长度就是10*2000=20秒。
4.3. syncLimit=5, 这个配置项标识Leader与Follower之间发送信息, 请求和应答时间长度, 最长不能超过多少个tickTime的时间长度, 总的时间长度就是5*2000=10秒。
4.4. dataDir=/tmp/zookeeper, zookeeper数据存储目录。
4.5. clientPort=2181, 这个端口就是客户端连接ZooKeeper服务器的端口, ZooKeeper会监听这个端口,接受客户端的访问请求。
4.6. maxClientCnxns=60, 单个服务器最大并发连接客户端数量。
4.7. autopurge.snapRetainCount=3, 保存的数据快照数量, 多余的会被清除。
4.8. autopurge.purgeInterval=1, 自动触发清除任务时间间隔, 小时为单位。默认为0, 表示不自动清除。