关于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/,选择镜像
然后选择当前最新的版本
点击下载到本机然后上传到服务器,当然也记下这个文件的链接地址,然后在服务器上用命令下载,这里直接复制链接地址然后上服务器上下载
# wget http://mirror.bit.edu.cn/apache/zookeeper/stable/zookeeper-3.4.14.tar.gz
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某些用法的代码示例
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
正常情况下启动的界面
没有复制配置文件的情况下启动时报错grep: /usr/local/zookeeper/zookeeper-3.4.14/bin/../conf/zoo.cfg: 没有那个文件或目录的界面
3、配置文件说明
需要将conf目录下的,conf目录下提供了配置的样例zoo_sample.cfg,要将zk运行起来,需要将其名称修改为zoo.cfg。
- tickTime
时长单位为毫秒,为zk使用的基本时间度量单位。例如:
- tickTime是客户端与zk服务端的心跳时间
- tickTime是客户端会话的超时时间。
- 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
如果出现拒绝连接的错误,那么有可能是2181端口没有开发
解决方法是在防火墙开放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