Zk环境安装

单机版

(1)创建如下目录,将tar包上传并解压

Zookeeper搭建及介绍

(2)进入解压后的zk,创建data目录

Zookeeper搭建及介绍

(3)复制配置文件并重命名如下,然后修改配置

Zookeeper搭建及介绍

(4)修改配置文件中的dataDir为自己创建的数据目录

Zookeeper搭建及介绍

(5)在zookeeper的bin目录,启动zk

Zookeeper搭建及介绍

(6)停止zk:start改stop,看状态:start改status


伪分布版

(1)将上面的单机版复制三份,比如01,02,03

Zookeeper搭建及介绍

(2)给节点写入myid,节点的唯一标识

Zookeeper搭建及介绍Zookeeper搭建及介绍

(3)修改配置文件zk01,zk02和zk03也要修改,三个节点clientPor不能一样t

Zookeeper搭建及介绍

Zookeeper搭建及介绍

Zookeeper搭建及介绍

Zookeeper搭建及介绍

(4)三个节点分别启动,关闭也是分别关闭(注意进入到具体目录去操作)


完全分布版

(1)用之前配置的单机版,复制三份,每个机器放一份

Zookeeper搭建及介绍

Zookeeper搭建及介绍

Zookeeper搭建及介绍

Zookeeper搭建及介绍

Zookeeper搭建及介绍

Zookeeper搭建及介绍

(2)三台机器都写入myid

Zookeeper搭建及介绍

Zookeeper搭建及介绍

Zookeeper搭建及介绍

(3)三台机器修改zoo.cfg配置文件

Zookeeper搭建及介绍

Zookeeper搭建及介绍

Zookeeper搭建及介绍

(4)分别在三个节点启动zk

Zookeeper搭建及介绍


Zk详解

配置文件详解

(1)clientPort

客户端连接server的端口,即外部服务端口,默认是2181

(2)dataDir

存myid,默认的事务日志也存储在这里,存Version

(3)tickTime

是一个zk中的时间单元,zk中所有时间都是以这个时间单元为基础的,比如定义一些时间配置时,整数倍定义,session超时时间定义2*tickTime

(4)initLimit

Follower启动过程中,从leader同步所有最新数据,leader限制Follower在initlimit时间内完成同步任务,如果leader数据量大,调高此属性

(5)syncLimit

同步时间,设置时最好别太大

(6)maxClientCnxns

客户端与服务器之间连接数的限制,默认为60

(7)server.A=B:C:D

server.1=node01:2888:3888

server.2=node02:2888:3888

server.3=node03:2888:3888

A:必须是一个数字,代表的是几号服务器

B:服务器的IP

C:表示服务器集群中,leader服务器交换信息的端口

D:选举用到的端口,若leader挂掉,通过此端口选举

(8)若需要配置observer,修改配置如下

server.1=node01:2888:3888

server.2=node02:2888:3888

server.3=node03:2888:3888:observer

解压目录详解

Bin目录:运行脚本

  • zkCleanup.sh:会清理日志信息,生产环境下最好不要用
  • zkCli.sh:启动client端命令行,直接启动的话,访问localhost:2181,

./zkCli.sh    客户端访问远程 zkCli.sh-server ip:2181

Conf目录:配置文件

Contrib:一些用于操作zk的工具包

Lib:zk的依赖包

Recipes:存放zk的示例代码

dist-maven:编译后发布的目录

命令行的操作

(1)help 快速帮助

(2) ls 可以添加watch event

Zookeeper搭建及介绍

(3)create:create [-s] [-e] path data acl

创建zk节点: -s顺序节点和-e临时节点(session失效则节点消失),如果这两个参数不写,则创建持久化节点

  • Path:创建节点的全路径
  • Data:当前节点存储的数据
  • Acl:用来控制权限,不写的情况下,认为不控制权限

(4)get:获取节点数据和属性信息

Zookeeper搭建及介绍

123:节点数据

  • cZxid:节点创建的zxid,zk状态的每一次改变,都对应一个递增的transaction id,该ID称为zxid
  • ctime:节点创建的时间戳
  • mZxid:节点最新更新发生的zxid
  • mtime:节点最新更新发生的时间戳
  • pZxid:父类的zxid
  • cversion:子节点的更新次数
  • dataVersion:节点数据的更新次数
  • aclVersion:节点ACL权限更新的次数
  • ephemeralOwner:记录是否为临时节点
  • numChildren:子节点的个数

Zookeeper搭建及介绍

相关文章:

  • 2022-01-13
  • 2021-08-08
  • 2021-10-09
  • 2021-05-18
  • 2022-01-15
  • 2021-12-19
  • 2018-01-25
猜你喜欢
  • 2022-03-01
  • 2021-08-28
  • 2022-01-06
  • 2021-10-09
  • 2021-07-06
  • 2021-10-15
相关资源
相似解决方案