zookeeper学习笔记(二)安装自动化配置及常用命令

单机或者分布式安装

将zookeeper分别解压到不同机器相应的路径上

单机安装就将for循环改成自己主机的IP

#!/bin/bash

zootmp=/root/liutao/zookeeper/tmp		# zk的目录下的数据目录,需要自己创建,此路径用于存储zookeeper中数据的内存快照、及事物日志文件
zoocfg=/root/liutao/zookeeper/conf/zoo.cfg	# zk目录下的配置文件的路径

myid=1
for h7_node in h71 h72 h73;do
ssh -Tq root@$h7_node << EOF
echo $myid
if test -e $zootmp
then 
        rm -rf $zootmp
        mkdir $zootmp
        touch $zootmp/myid
        echo $myid >> ~/liutao/zookeeper/tmp/myid		// zk主机号
else
        mkdir $zootmp
        touch $zootmp/myid
        echo $myid >> ~/liutao/zookeeper/tmp/myid		// // zk主机号
fi

if test -e $zoocfg
then
        echo "tickTime=2000" > $zoocfg
        echo "initLimit=10" >> $zoocfg
        echo "syncLimit=5"  >> $zoocfg
        echo "dataDir=/root/liutao/zookeeper/tmp" >> $zoocfg
        echo  "clientPort=2181" >> $zoocfg		// 2181:对cline端提供服务
        echo "server.1=h71:2888:3888" >> $zoocfg 		// 3888:选举leader使用 , 2888:集群内机器通讯使用(Leader监听此端口)
        echo "server.2=h72:2888:3888" >> $zoocfg 
        echo "server.3=h73:2888:3888" >> $zoocfg 
         

else
        touch $zoocfg
        echo "tickTime=2000" > $zoocfg
        echo "initLimit=10" >> $zoocfg
        echo "syncLimit=5"  >> $zoocfg
        echo "dataDir=/root/liutao/zookeeper/tmp" >> $zoocfg
        echo  "clientPort=2181" >> $zoocfg
        echo "server.1=h71:2888:3888" >> $zoocfg 
        echo "server.2=h72:2888:3888" >> $zoocfg 
        echo "server.3=h73:2888:3888" >> $zoocfg 
         
fi
exit
EOF

myid=`expr $myid + 1`
done

环境变量

export ZOOKEEPER_HOME=/root/liutao/zookeeper
export PATH=$PATH:$ZOOKEEPER_HOME/bin

常用命令

启动停止

// 启动zookeeper		zkServer.sh start
// 停止zookeeper	    zkServer.sh stop
// 查看状态:zkServer.sh status

创建结点

zkCli.sh  链接本地zk服务器,退出使用quit
create [-s] [-e] path data #其中-s 为有序节点,-e 临时节点,-s会记录每个子节点创建的先后顺序

创建持久化节点并写入数据,get命令获取数据

在这里插入图片描述

持久化有序结点并写入数据,结点名称会更改为名称数字的组合,作用是创建的唯一ID

在这里插入图片描述

创建临时结点之后,quit退出会话,结点自动删除,并且临时结点不能有子结点。

更新结点

更新结点之后会更新版本号码

zkCli.sh  链接本地zk服务器,退出使用quit
set 路径 更新的数据 【当前dataversion,可选】		#

在这里插入图片描述

删除结点

delete path	【当前dataversion,可选】		# 结点有子结点,是不允许删除的
rmr path		# 删除该结点以及所有的子结点

查看结点

get path		# 返回数据和当前结点的属性
stat path		# 返回当前结点属性

属性说明:
在这里插入图片描述

返回结点列表

ls path		# 返回当前路径下的所有子结点
ls2 path	# 返回当前路径下的所有子结点和当前子结点的属性

猜你喜欢

转载自blog.csdn.net/liutao43/article/details/115347903