Zookeeper安装和命令使用/高并发/架构师

下载zookeeper安装包

对架构感兴趣的朋友可以加QQ群交流 364857634

在官网中下载,对于在墙内的用户,并不推荐该方式下载速度可能比较慢

地址http://mirror.bit.edu.cn/apache/zookeeper/ ,选择需要版本下载tar.gz的安装包

安装包上传解压到服务器指定目录

执行 tar -zxvf zookeeperXXX.tar.gz -C /zookeeperzookeeper解压到指定的zookeeper目录,根据用户自己的需要进行替换

对默认配置文件进行重命名

zookeeper根目录中conf文件夹下的zoo_sample.cfg重命名为zoo.cfg,修改后zookeeper便可以识别到该文件

Zookeeper安装和命令使用/高并发/架构师_第1张图片

修改zoo.cfg配置文件

#发送心跳的间隔时间,单位:毫秒

tickTime=2000

#zookeeper保存数据的目录

dataDir=/zookeeper/zookeeper-3.4.5-cdh5.11.1/data

#日志目录

dataLogDir=/ zookeeper/zookeeper-3.4.5-cdh5.11.1/dataLog

#端口

clientPort=2181

#leaderfollower初始化连接时最长能忍受多少个心跳时间的间隔数

initLimit=5

#leaderfollower之间发送消息,请求和响应时间长度,最长不能超过多少个tickTime的时间长度

syncLimit=2

#zookeeper机器列表,server.order这里的Order依据集群的机器个数依次进行递增,这里的server1server2server3表示机器IP地址

server.1=server1:2888:3888

server.2=server2:2888:3888

server.3=server3:2888:3888

对架构感兴趣的朋友可以加QQ群交流 364857634

上面的data目录和dataLog目录默认是没有的,需要自己预先建立好。并且真正用户开发环境的配置文件,尽量删除删掉上面的注释,以及多余的空白字符(划重点),有可能会造成zookeeper的读取失败

​​​​​​​新建myid文件

server1机器中,在上面配置的data目录下,新建一个名为 myid的文件,文件内容填写 1,对的,没有听错,文件中只保留一个数字 1zookeeper是根据该文件来决定zookeeper集群各个机器的身份分配。

启动zookeeper服务

修改完成后,在每台机器上依次使用bin/zkServer.sh start来启动zookeeper服务,待启动完成后使用 bin/zkServer.sh status来查看该机器的身份 

Zookeeper安装和命令使用/高并发/架构师_第2张图片

​​​​​​​启动zookeeper客户端检验服务是否可用

使用 bin/zkCli.sh来检验zookeeper是否可以连接成功,若出现如下提示,则表示zookeeper服务已经安装成功。 

Zookeeper安装和命令使用/高并发/架构师_第3张图片

Zookeeper的命令行

服务端

bin目录下常用的脚本解释

    zkCleanup  清理Zookeeper历史数据,包括日志文件和快照数据文件

    zkCli      Zookeeper的一个简易客户端

    zkEnv    设置Zookeeper的环境变量

    zkServer     Zookeeper服务器的启动、停止、和重启脚本

 

运行服务

  进入bin目录,使用zkServer.sh start启动服务

 使用jps命令查看,存在QuorumPeerMain进程,表示Zookeeper已经启动

 

停止服务

  在bin目录下,使用zkServer.sh stop停止服务

 使用jps命令查看,QuorumPeerMain进程已不存在,表示Zookeeper已经关闭

 

客户端

打开客户端

  在服务端开启的情况下,运行客户端,使用如下命令:./zkCli.sh

Zookeeper安装和命令使用/高并发/架构师_第4张图片Zookeeper安装和命令使用/高并发/架构师_第5张图片

连接服务端成功,若连接不同的主机,可使用如下命令:./zkCli.sh -server ip:port

  可以使用帮助命令help来查看客户端的操作

Zookeeper安装和命令使用/高并发/架构师_第6张图片

创建节点

  使用create命令,可以创建一个Zookeeper节点,

  create [-s] [-e] path data acl

  其中,-s-e分别指定节点特性,顺序或临时节点,若不指定,则表示持久节点;acl用来进行权限控制。

   创建顺序节点

  使用 create -s /zk-test 123 命令创建zk-test顺序节点

可以看到创建的zk-test节点后面添加了一串数字以示区别。

   创建临时节点

  使用 create -e /zk-temp 123 命令创建zk-temp临时节点

 临时节点在客户端会话结束后,就会自动删除,下面使用quit命令退出客户端

再次使用客户端连接服务端,并使用ls / 命令查看根目录下的节点

 

可以看到根目录下已经不存在zk-temp临时节点了。

   创建永久节点

  使用 create /zk-permanent 123 命令创建zk-permanent永久节点

可以看到永久节点不同于顺序节点,不会自动在后面添加一串数字。

   读取节点

  与读取相关的命令有ls 命令和get 命令,ls命令可以列出Zookeeper指定节点下的所有子节点,只能查看指定节点下的第一级的所有子节点;get命令可以获取Zookeeper指定节点的数据内容和属性信息。其用法分别如下

  ls path [watch]

  get path [watch]

  ls2 path [watch]

  若获取根节点下面的所有子节点,使用ls / 命令即可

若想获取根节点数据内容和属性信息,使用get / 命令即可

Zookeeper安装和命令使用/高并发/架构师_第7张图片

也可以使用ls2 / 命令查看

Zookeeper安装和命令使用/高并发/架构师_第8张图片

可以看到其子节点数量为8

若想获取/zk-permanent的数据内容和属性,可使用如下命令:get /zk-permanent 

Zookeeper安装和命令使用/高并发/架构师_第9张图片

可以看到其数据内容为123,还有其他的属性,之后会详细介绍。

 

对架构感兴趣的朋友可以加QQ群交流 364857634

  更新节点

  使用set命令,可以更新指定节点的数据内容,用法如下

  set path data [version]

  其中,data就是要更新的新内容,version表示数据版本,如将/zk-permanent节点的数据更新为456,可以使用如下命令:set /zk-permanent 456

Zookeeper安装和命令使用/高并发/架构师_第10张图片

现在dataVersion已经变为1了,表示进行了更新。

  删除节点

  使用delete命令可以删除Zookeeper上的指定节点,用法如下

  delete path [version]

  其中version也是表示数据版本,使用delete /zk-permanent 命令即可删除/zk-permanent节点

可以看到,已经成功删除/zk-permanent节点。值得注意的是,若删除节点存在子节点,那么无法删除该节点,必须先删除子节点,再删除父节点。

 

有技术及面试方面的问题可以加我微信renlliang2013,随时欢迎。

​​​​​​​

你可能感兴趣的:(架构师专题,zookeeper,dubbo,分布式,高并发,架构师)