ZooKeeper学习(三)Zookeeper安装(本地安装)

本地安装:

  1.构建资源映射文件

mkdir -p zookeeper/{"conf","logs","data"}

  ZooKeeper学习(三)Zookeeper安装(本地安装)_第1张图片

2.拉去zookeeper镜像

docker search zookeeper #查找镜像

docker pull zookeeper #拉取镜像

 ZooKeeper学习(三)Zookeeper安装(本地安装)_第2张图片

3.修改docker-componse.yml文件的配置

version: '3'

services:
  zookeeper:
     restart: always
     image: zookeeper:latest
     ports:
       - 2181:2181
     volumes:
       - ./zookeeper/conf:/conf
       - /zookeeper/logs:/logs
       - /zookeeper/data:/data

4.修改

 ZooKeeper学习(三)Zookeeper安装(本地安装)_第3张图片 

ZooKeeper学习(三)Zookeeper安装(本地安装)_第4张图片

 5.启动zookeeper

docker-componse up -d zookeeper

6.与zookeeper进行交互

docker exec -it d3c702f36d0a /bin/bash

  ZooKeeper学习(三)Zookeeper安装(本地安装)_第5张图片 

 7.客户端命令行操作zookeeper客户端

显示所有操作命令: help
查看当前znode中所包含的内容: ls /
查看当前节点数据并能看到更新次数等数据:ls2 /
创建普通节点: create /zhw "测试"
获得节点的值: get /zhw
创建短暂节点: create -e /路径 数据
创建带序号的节点 :create -s /aa 888 # 创建节点的时候,如果路径是多级的路径,则必须上级路径存在的情况下才能创建下级路径。
修改节点数据值:set /aa 999 注意 该路径必须存在。
节点的值变化监听: get /app1 watch
节点的子节点变化监听(路径变化):ls /app1 watch
删除节点:delete /app1/bb #只删除最后一个子节点
递归删除节点:rmr /app2 #删除该路径下的所有节点包括父节点
查看节点状态:stat /zhw

   ZooKeeper学习(三)Zookeeper安装(本地安装)_第6张图片

8.解读zoo.cfg 文件中参数含义

8.1 tickTime=2000:通信心跳数,Zookeeper服务器心跳时间,单位毫秒
     Zookeeper使用的基本时间,服务器之间或客户端与服务器之间维持心跳的时间间隔,也就是每个tickTime时间就会发送一个心跳,时间单位为毫秒。它用于心跳机制,并且设置最小的session超时时间为两倍心跳时间。(session的最小超时时间是2*tickTime)

8.2 initLimit=10:LF初始通信时限

     (1)集群中的follower跟随者服务器(F)与leader领导者服务器(L)之间初始连接时能容忍的最多心跳数(tickTime的数量),用它来限定集群中的Zookeeper服务器连接到Leader的时限;(2)投票选举新leader的初始化时间;(3)Follower在启动过程中,会从Leader同步所有最新数据,然后确定自己能够对外服务的起始状态;(4)Leader允许F在initLimit时间内完成这个工作。

8.3 syncLimit=5:LF同步通信时限
       集群中Leader与Follower之间的最大响应时间单位,假如响应超过syncLimit * tickTime,Leader认为Follwer死掉,从服务器列表中删除Follwer。

      在运行过程中,Leader负责与ZK集群中所有机器进行通信,例如通过一些心跳检测机制,来检测机器的存活状态。如果L发出心跳包在syncLimit之后,还没有从F那收到响应,那么就认为这个F已经不在线了。
8.4 dataDir:数据文件目录+数据持久化路径

   保存内存数据库快照信息的位置,如果没有其他说明,更新的事务日志也保存到数据库。
8.5  clientPort=2181:客户端连接端口

   监听客户端连接的端口

你可能感兴趣的:(ZooKeeper)