Zookeeper学习笔记-安装

zookeeper官网地址https://zookeeper.apache.org/

1、卸载CentOS自带的open jdk,安装oracle jdk(1.8)

2、时间同步

#安装ntpdate插件
yum install ntpdate

#网络时间同步阿里云,运行指令
ntpdate -u ntp1.aliyun.com

3、关闭防火墙

#关闭当前防火墙服务
systemctl stop firewalld

#禁止防火墙服务器 防止开机自启动
systemctl disable firewalld.service

#检验防火墙服务是否关闭
systemctl status firewalld.service

4、主机名和ip的映射

#编辑hosts文件
vi /etc/hosts

添加虚拟机ip地址和名称

5、安装Zookeeper

下载解压

#下载
https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/zookeeper-3.6.2/apache-zookeeper-3.6.2-bin.tar.gz
#解压
tar -zxvf apache-zookeeper-3.6.2-bin.tar.gz

修改配置文件

#配置文件路径
cd apache-zookeeper-3.6.2-bin/conf/

#重命名配置文件
mv zoo_sample.cfg zoo.cfg

#编辑配置文件
vi zoo.cfg

#修改dataDir参数(第12行)
dataDir=/root/zkdata

#在末尾添加 心跳端口 和 选举端口
server.1=node01:2888:3888
server.2=node02:2888:3888
server.3=node03:2888:3888

#创建ZooKeeper在Linux本地存储数据的目录

mkdir -p /root/zkdata

#在zookeeper_data中添加服务器标号文件myid,并添加服务器标号(根据不同的主机号添加标记)

cd /root/zkdata
echo 1 > myid

把node01上的安装包分发到其他机器上

scp -r apache-zookeeper-3.6.2-bin node02:`pwd`
scp -r apache-zookeeper-3.6.2-bin node03:`pwd`

分别在node02、node03上创建zkdata文件夹,添加服务器编号文件myid(注意:更改myid)

配置环境变量

编辑全局环境变量文件

vi /etc/profile

在文件末尾添加以下内容

#ZOOKEEPER_HOME
export ZOOKEEPER_HOME=/root/apache-zookeeper-3.6.2-bin
export PATH=$PATH:$ZOOKEEPER_HOME/bin

重新加载配置文件

source /etc/profile

6、ZooKeeper的集群启动、关闭、状态查看

#启动
./bin/zkServer.sh start conf/zoo.cfg

#关闭
./bin/zkServer.sh stop

#查看状态
./bin/zkServer.sh status

7、一些基础操作

./bin/zkCli.sh

create /lxw "test"

ls /lxw

get -s /lxw

cZxid :Znode创建的事务id。

ctime:节点创建时的时间戳。

mZxid :Znode被修改的事务id,即每次对znode的修改都会更新mZxid。
对于zk来说,每次的变化都会产生一个唯一的事务id,zxid(ZooKeeper Transaction Id)。通过zxid,可以确定更新操作的先后顺序。例如,如果zxid1小于zxid2,说明zxid1操作先于zxid2发生,zxid对于整个zk都是唯一的,即使操作的是不同的znode。

mtime:节点最新一次更新发生时的时间戳。

cversion :子节点的版本号。当znode的子节点有变化时,cversion 的值就会增加1。

dataVersion:数据版本号,每次对节点进行set操作,dataVersion的值都会增加1(即使设置的是相同的数据),可有效避免了数据更新时出现的先后顺序问题。

ephemeralOwner:如果该节点为临时节点, ephemeralOwner值表示与该节点绑定的session id. 如果不是, ephemeralOwner值为0。

在client和server通信之前,首先需要建立连接,该连接称为session。连接建立后,如果发生连接超时、授权失败,或者显式关闭连接,连接便处于CLOSED状态, 此时session结束。

delete /lxw

猜你喜欢

转载自blog.csdn.net/lw112190/article/details/110817508