【ZooKeeper】ZooKeeper 3.4.14安装配置及简单使用

关于zookeeper的简介大家可以参考一下这篇文章:https://www.cnblogs.com/felixzh/p/5869212.html 里面写得很好很清楚,加上本篇文章主要主题还是安装,所以这里就省略了

一、环境

操作系统:CentOS 7
ZookKeeper:ZookKeeper 3.4.14

二、安装配置步骤

1、下载

进入官网http://www.apache.org/dyn/closer.cgi/zookeeper/,选择镜像

【ZooKeeper】ZooKeeper 3.4.14安装配置及简单使用_第1张图片

然后选择当前最新的版本
【ZooKeeper】ZooKeeper 3.4.14安装配置及简单使用_第2张图片

【ZooKeeper】ZooKeeper 3.4.14安装配置及简单使用_第3张图片

点击下载到本机然后上传到服务器,当然也记下这个文件的链接地址,然后在服务器上用命令下载,这里直接复制链接地址然后上服务器上下载

# wget http://mirror.bit.edu.cn/apache/zookeeper/stable/zookeeper-3.4.14.tar.gz
【ZooKeeper】ZooKeeper 3.4.14安装配置及简单使用_第4张图片
2、解压
# tar -zxvf zookeeper-3.4.14.tar.gz

然后就完成安装操作了

三、基本使用

1、安装目录结构说明
  • bin目录
    zk的可执行脚本目录,包括zk服务进程,zk客户端,等脚本。其中,.sh是Linux环境下的脚本,.cmd是Windows环境下的脚本。
  • conf目录
    配置文件目录。zoo_sample.cfg为样例配置文件,需要修改为自己的名称,一般为zoo.cfg。log4j.properties为日志配置文件。
  • lib
    zk依赖的包。
  • contrib目录
    一些用于操作zk的工具包。
  • recipes目录
    zk某些用法的代码示例
    【ZooKeeper】ZooKeeper 3.4.14安装配置及简单使用_第5张图片
2、zookeeper启动

启动前,需要添加一个zoo.cfg的配置文件,在Windows环境下,直接双击zkServer.cmd即可。在Linux环境下,进入bin目录,执行命令

#启动前,需要添加一个zoo.cfg的配置文件
cp zoo_sample.cfg zoo.cfg

#进入到zookeeper的bin目录直接启动
./zkServer.sh start &

#启动的时候,查看后台信息
./zkServer.sh start-foreground &

#查看zookeeper 运行状态
ps -ef |grep zookeeper

正常情况下启动的界面

【ZooKeeper】ZooKeeper 3.4.14安装配置及简单使用_第6张图片

【ZooKeeper】ZooKeeper 3.4.14安装配置及简单使用_第7张图片

没有复制配置文件的情况下启动时报错grep: /usr/local/zookeeper/zookeeper-3.4.14/bin/../conf/zoo.cfg: 没有那个文件或目录的界面

【ZooKeeper】ZooKeeper 3.4.14安装配置及简单使用_第8张图片

3、配置文件说明

需要将conf目录下的,conf目录下提供了配置的样例zoo_sample.cfg,要将zk运行起来,需要将其名称修改为zoo.cfg。

  • tickTime
    时长单位为毫秒,为zk使用的基本时间度量单位。例如:
  1. tickTime是客户端与zk服务端的心跳时间
  2. tickTime是客户端会话的超时时间。
  3. tickTime的默认值为2000毫秒,更低的tickTime值可以更快地发现超时问题,但也会导致更高的网络流量(心跳消息)和更高的CPU使用率(会话的跟踪处理)。
  • clientPort
    zk服务进程监听的TCP端口,默认情况下,服务端会监听2181端口。
  • dataDir
    无默认配置,必须配置,用于配置存储快照文件的目录。如果没有配置
  • dataLogDir 那么事务日志也会存储在此目录。
  • initLimit 用来配置客户端初始化,可以接受多少个心跳监测
    比如配置的是10 ,10*tickTime (2000默认),默认20s没有连接上集群的配置,就不尝试了,连接失败
  • syncLimit 用来配置Leader和follwer之间,允许多少个请求应答长度
    比如默认配置是5、 5*tickTime (2000默认),表示默认10s钟,Leader和Follwer之间如果消息5次没有发送成功就不尝试了
  • server.NUM=IP:port1:port2 (server.1=127.0.0.1:2222:2225)
    NUM表示本机为第几号服务器;IP为本机ip地址;
    port1为leader与follower通信端口;
    port2为参与竞选leader的通信端口
    多个实例的端口配置不能重复
4、登录到zookeeper
# ./zkCli.sh -server 127.0.0.1:2181

【ZooKeeper】ZooKeeper 3.4.14安装配置及简单使用_第9张图片

【ZooKeeper】ZooKeeper 3.4.14安装配置及简单使用_第10张图片

如果出现拒绝连接的错误,那么有可能是2181端口没有开发
【ZooKeeper】ZooKeeper 3.4.14安装配置及简单使用_第11张图片

解决方法是在防火墙开放2181端口,或者关闭防火墙

6、一些简单的操作
#创建节点
create /test test1

#获取节点数据
get /test

#更新节点
set /test  test2

#删除节点
delete /test

#递归删除数据,将子目录的数据也删除掉
rmr /test 

#查看节点
ls / 

#查看输入过的命令
history
7、一些命令说明
命令 功能描述
conf 输出相关服务配置的详细信息
cons 列出所有连接到服务器的客户端的完全的连接 / 会话的详细信息。包括“接受 / 发送”的包数量、会话 id 、操作延迟、最后的操作执行等等信息
dump 列出未经处理的会话和临时节点
envi 输出关于服务环境的详细信息(区别于 conf 命令)
reqs 列出未经处理的请求
ruok 测试服务是否处于正确状态。如果确实如此,那么服务返回“imok ”,否则不做任何相应
stat 输出关于性能和连接的客户端的列表
wchs 列出服务器 watch 的详细信息
wchc 通过 session 列出服务器 watch 的详细信息,它的输出是一个与watch 相关的会话的列表
wchp 通过路径列出服务器 watch 的详细信息。它输出一个与 session相关的路径

命令使用方法:

#查看配置信息
echo conf|en localhost 2181

#查看连接信息
echo cons|en 192.168.1.1 2181

参考:
https://blog.csdn.net/yelllowcong/article/details/76849946
https://www.cnblogs.com/felixzh/p/5869212.html

你可能感兴趣的:(【ZooKeeper】ZooKeeper 3.4.14安装配置及简单使用)