1.操作相关命令
1.0 安装命令
wget :下载解压包
tar -xzvf :解压
1.1 创建节点
create / node : 创建一个名字为node的 空节点
create / node data :创建一个名字为node ,包含数据data的节点 。
create -e /node data : 创建一个名字为node ,包含数据data的临时节点 。
1.2 删除节点
delete/path :删除名为/path的znode。
1.3 检查节点
xists/path:检查是否存在名为/path的节点。
1.4 获取节点数据
setData/path data:设置名为/path的znode的数据为data。
1.5 设置节点数据
getData/path :返回名为/path节点的数据信息。
1.6 获取所有子节点
getChildren/path :返回所有/path节点的所有子节点列表
2.单体安装
2.1 下载安装
登陆官网,找到对应的下载地址 ,目前是3.5.5的版本,可以按需求下载
1. 下载 :weget http://mirror.bit.edu.cn/apache/zookeeper/zookeeper-3.5.5/apache-zookeeper-3.5.5-bin.tar.gz
2. 解压 : tar -xzvf apache-zookeeper-3.5.5-bin.tar.gz
3. 修改配置文件
进入到解压目录 ,找到 conf/zoo_sample.cfg 复制一份 ,改名字为zoo.cfg 文件 ,zookeeper 启动默认找的是 zoo.cfg 。 修改数据的存储路径 ./zoo/data,源文件默认路径是:dataDir=/tmp/zookeeper ,按一下命令执行 。当前路径是在解压路劲。
find conf :可以看到,conf 文件夹下的文件,我这已经建好了多个文件 ,可以不用管。
拷贝文件,并改名 为zoo.cfg .指令:cp conf/zoo_sample.cfg conf/zoo.cfg
修改数据存储路径,路劲可以按自己喜欢修改, 指令: vim conf/zoo.cfg
按esc 键对出修改 ,按 shift+:键后输入 :wq 保存修改退出
2.2 启动
输入bin/zkServer.sh -help ,可以看到相关的server指令 ,包括启动 和停止等
启动 指令
1. bin/zkServer.sh start :默认按配置文件 zoo.cfg 启动
2. bin/zkServer.sh start xxx.cfg 按配置文件 xxx.cfg
3. bin/zkServer.sh start-foreground : 以前台的形式启动 ,可以看到输出的相关信息 。
2.3 连接客户端
一般生产客户端是比如kafka ,dobbo等应用程序作为客户端,这里学习可以用,自带的客户端连接
连接命令:
1. bin/zkCli.sh 默认启动连接
2.bin/zkCli.sh -server 127.0.0.1:2181 :指定 服务 127.0.0.1:2181 连接,搭建集群时候可用到 。
3.集群搭建
3.1 添加主从服务
以搭建一主两从为列 ,修改配置文件,在文件末尾加入一下内容 :
server.1=127.0.0.1:2222:2223
server.2=127.0.0.1:3333:3334
server.3=127.0.0.1:4444:4445
3.2 修改端口及数据路劲
拷贝配置文件 分别为 zoo1.cfg ,zoo2.cfg ,并修改他们的端口和数据的存储路径 。数据路劲分别放在 zoo/data 、zoo1/data 、zoo2/data,端口分别为2081、2082 、2083,修改完成后每个配置文件修改内容如下 :
zoo1 | zoo2 | zoo3 |
dataDir=./zoo/data clientPort=2181 server.1=127.0.0.1:2222:2223 |
dataDir=./zoo1/data clientPort=2182 server.1=127.0.0.1:2222:2223 |
dataDir=./zoo2/data clientPort=2183 server.1=127.0.0.1:2222:2223 |
3.3 创建 myid 文件
完成后在 zoo/data 、zoo1/data 、zoo2/data 分别建立 一个文件 myid ,并写入内容 分别为 1、2、3,如下指令
echo 1 > z1/data/myid
echo 2 > z2/data/myid
echo 3 > z3/data/myid
3.4 启动
分别以配置文件的修饰启动 ,如下指令 第一个启动完成后,可以看到输出很多异常,是在尝试连接从机。三个启动完成就没事了 。
/bin/zkServer.sh start-foreground conf/ zoo.cfg
/bin/zkServer.sh start-foreground conf/ zoo1.cfg
/bin/zkServer.sh start-foreground conf/ zoo2.cfg
3.5 连接
指令:/bin/zkCli.sh -server 127.0.0.1:2181,127.0.0.1:2182,127.0.0.1:2 ,连接完成后可以看到客户端连接是2081还是别的端口主机