Zookeeper【部署(伪集群安装、集群安装、服务管理)系统模型(数据模型、节点特性 、客户端命令行 、节点数据信息、Watcher监听机制 )】(二)-全面详解(学习总结---从入门到深化)
  TEZNKK3IfmPf 2023年11月12日 23 0

Zookeeper部署运行_伪集群安装

Zookeeper【部署(伪集群安装、集群安装、服务管理)系统模型(数据模型、节点特性 、客户端命令行 、节点数据信息、Watcher监听机制 )】(二)-全面详解(学习总结---从入门到深化)

下载Zookeeper 

Zookeeper【部署(伪集群安装、集群安装、服务管理)系统模型(数据模型、节点特性 、客户端命令行 、节点数据信息、Watcher监听机制 )】(二)-全面详解(学习总结---从入门到深化)

下载具体版本 

Zookeeper【部署(伪集群安装、集群安装、服务管理)系统模型(数据模型、节点特性 、客户端命令行 、节点数据信息、Watcher监听机制 )】(二)-全面详解(学习总结---从入门到深化)

解压zookeeper 

tar -zxvf apache-zookeeper-3.7.3.tar.gz -C /usr/local

修改配置文件

进入zookeeper的安装目录的conf目录

cd /usr/local/zookeeper/config
cp zoo_sample.cfg zoo.cfg

 修改zoo.cfg

# The number of milliseconds of each tick
tickTime=2000initLimit=10
syncLimit=5
dataDir=/usr/local/zookeeper/zkdata
dataLogDir=/usr/local/zookeeper/zklogs
clientPort=2181

创建数据持久化目录

mkdir /usr/local/zookeeper/zkdata
mkdir /usr/local/zookeeper/zklogs

配置JDK环境

vim /etc/profile

export JAVA_HOME=/usr/local/jdk
export PATH=$PATH:$JAVA_HOME/bin

生效环境变量 

source /etc/profile

启动zookeeper服务

zkServer.sh start

查看Zookeeper运行状态

zkServer.sh status

Zookeeper部署运行_集群安装

Zookeeper【部署(伪集群安装、集群安装、服务管理)系统模型(数据模型、节点特性 、客户端命令行 、节点数据信息、Watcher监听机制 )】(二)-全面详解(学习总结---从入门到深化)

环境准备 

服务器1   192.168.66.101

服务器2   192.168.66.102

服务器3   192.168.66.103

解压zookeeper 

tar -zxvf apache-zookeeper-3.6.3.tar.gz -C /usr/local

修改配置文件

进入zookeeper的安装目录的conf目录

cd /usr/local/zookeeper/config

cp zoo_sample.cfg zoo.cfg

修改zoo.cfg 

# 心跳检查的时间 2秒
tickTime=2000initLimit=10
# ZK Leader 和follower 之间通讯的次数,总时间5*2=10秒
syncLimit=5
# 存储内存中数据快照的位置,如果不设置参数,更新事务日志
将被存储到默认位置。
dataDir=/usr/local/zookeeper/zkdata
# ZK 服务器端的监听端口  
clientPort=2181
#autopurge.purgeInterval=1
server.1=192.168.66.101:2888:3888
server.2=192.168.66.102:2888:3888
server.3=192.168.66.103:2888:3888

创建数据持久化目录

对3台节点,都创建zkdata目录 。

mkdir /usr/local/zookeeper/zkdata

在工作目录中生成myid文件

第一台机器上: echo 1 >
/usr/local/zookeeper/zkdata/myid
第二台机器上: echo 2 >
/usr/local/zookeeper/zkdata/myid
第三台机器上: echo 3 >
/usr/local/zookeeper/zkdata/myid

启动zookeeper集群

zookeeper没有提供自动批量启动脚本,需要手动一台一台地起 zookeeper进程

在每一台节点上,运行命令:

bin/zkServer.sh start

Zookeeper【部署(伪集群安装、集群安装、服务管理)系统模型(数据模型、节点特性 、客户端命令行 、节点数据信息、Watcher监听机制 )】(二)-全面详解(学习总结---从入门到深化)

 Zookeeper部署运行_服务管理

Zookeeper【部署(伪集群安装、集群安装、服务管理)系统模型(数据模型、节点特性 、客户端命令行 、节点数据信息、Watcher监听机制 )】(二)-全面详解(学习总结---从入门到深化)

Zookeeper【部署(伪集群安装、集群安装、服务管理)系统模型(数据模型、节点特性 、客户端命令行 、节点数据信息、Watcher监听机制 )】(二)-全面详解(学习总结---从入门到深化)

 配置环境变量

修改文件

vim /etc/profile

export ZOOKEEPER_HOME=/usr/local/zookeeper
export PATH=$PATH:$ZOOKEEPER_HOME/sbin

生效环境变量

source /etc/profile

启动服务

如何启动zookeeper服务。

语法结构:

sh zkServer.sh start

停止服务

语法结构:

sh zkServer.sh stop

查看zookeeper状态

语法结构:

sh zkServer.sh status

设置一键启动/一键停止脚本

编写一键启停脚本 vim zkStart-all.sh

#验证传入的参数
if [ $# -ne 1 ];then
   echo "无效参数,用法为: $1 
{start|stop|restart|status}"
   exit
fi
#遍历所有节点
for host in 192.168.66.101 192.168.66.102
192.168.66.103
do
   echo "========== $host 正在 $1 ========= "
   #发送命令给目标机器
   ssh $host "source /etc/profile;
/usr/local/zookeeper/bin/zkServer.sh $1" done

实时效果反馈

1.Zookeeper技术中如何查看每个节点的状态。

A zkServer.sh start

B zkServer.sh stop

C zkCli.sh

D zkServer.sh status

 

2. Zookeeper技术中如何清理Zookeeper历史数据,包括事务日 志文件和快照数据文件。

A zkServer.sh start

B zkcli.sh

C zkServer.sh

D zkCleanup.sh

Zookeeper系统模型_数据模型 

Zookeeper【部署(伪集群安装、集群安装、服务管理)系统模型(数据模型、节点特性 、客户端命令行 、节点数据信息、Watcher监听机制 )】(二)-全面详解(学习总结---从入门到深化)

在Zookeeper中,可以说 Zookeeper中的所有存储的数据是由 znode组成的,节点也称为 znode,并以 key/value 形式存储数据。 

树 

Zookeeper【部署(伪集群安装、集群安装、服务管理)系统模型(数据模型、节点特性 、客户端命令行 、节点数据信息、Watcher监听机制 )】(二)-全面详解(学习总结---从入门到深化)

介绍:

整体结构类似于 linux 文件系统的模式以树形结构存储。其中根路径以 / 开头。 

保存数据 

Zookeeper【部署(伪集群安装、集群安装、服务管理)系统模型(数据模型、节点特性 、客户端命令行 、节点数据信息、Watcher监听机制 )】(二)-全面详解(学习总结---从入门到深化)

 注意: 以 key/value 形式存储数据。key就是znode的节点路径,比如 /java , /server。

实时效果反馈

1.ZooKeeper技术中,每一个数据节点都被称为____。 

A role

B data

C znode

D node

 

2. ZooKeeper技术中ZNode节点路径标识方式,使用___进行分割路径。

A 斜杠

B 冒号

C 美元符号

D 百分号

Zookeeper系统模型_节点特性 

Zookeeper【部署(伪集群安装、集群安装、服务管理)系统模型(数据模型、节点特性 、客户端命令行 、节点数据信息、Watcher监听机制 )】(二)-全面详解(学习总结---从入门到深化)

znode节点类型 

ZooKeeper 节点是有生命周期的,这取决于节点的类型。节点类型 可以分为持久节点、临时节点,以及时序节点,具体在节点创建过程中,一般是组合使用,可以生成以下 4 种节点类型。

Zookeeper【部署(伪集群安装、集群安装、服务管理)系统模型(数据模型、节点特性 、客户端命令行 、节点数据信息、Watcher监听机制 )】(二)-全面详解(学习总结---从入门到深化)

持久节点 

持久节点是zookeeper中最常见的一种节点类型。所谓持久节点, 是指改数据节点被创建后,就会一直存在与zookeeper服务器上, 直到有删除操作来主动清除这个节点。

示例: 

/java spring
/baizhan itxiaotong

持久顺序节点

这类节点的基本特性和上面的节点类型是一致的。额外的特性是, 在ZK中,每个父节点会为他的第一级子节点维护一份时序,会记录 每个子节点创建的先后顺序。

Zookeeper【部署(伪集群安装、集群安装、服务管理)系统模型(数据模型、节点特性 、客户端命令行 、节点数据信息、Watcher监听机制 )】(二)-全面详解(学习总结---从入门到深化)

示例:

/java00000000000001 spring
/baizhan00000000000001 itxiaotong

 临时节点

1、从名称上可以看出该节点的一个最重要的特性就是临时性。

2、所谓临时性是指,如果将节点创建为临时节点,那么该节点数据不会一直存储在 ZooKeeper 服务器上。

Zookeeper【部署(伪集群安装、集群安装、服务管理)系统模型(数据模型、节点特性 、客户端命令行 、节点数据信息、Watcher监听机制 )】(二)-全面详解(学习总结---从入门到深化)

 区别:

和持久节点不同的是,临时节点的生命周期和客户端会话绑定。也就是说,如果客户端会话失效,那么这个节点就会自动被清除掉。注意,这里提到的是会话失效,而非连接断开。另 外,在临时节点下面不能创建子节点。

临时顺序节点 

临时顺序节点的基本特性和临时节点是一致的,同样是在临时节点的基础上,添加了顺序的特性。

示例: 

/xiaotong0000000000000001   itxiaotong

/xiaotong0000000000000002   itxiaotong

/xiaotong0000000000000003   itxiaotong

实时效果反馈

1.在Zookeeper技术中,每个数据节点都是有______的。 

A 存活时间

B 生命周期

C 路径结构

D 保存数据

 

2.下列不属于Zookeeper节点类型的是______。

A 持久节点

B 临时节点

C 永久节点

D 临时顺序节点

Zookeeper系统模型_客户端命令行 

Zookeeper【部署(伪集群安装、集群安装、服务管理)系统模型(数据模型、节点特性 、客户端命令行 、节点数据信息、Watcher监听机制 )】(二)-全面详解(学习总结---从入门到深化)

创建 

创建ZK节点

语法结构:

create [-s] [-e] path data acl

Zookeeper【部署(伪集群安装、集群安装、服务管理)系统模型(数据模型、节点特性 、客户端命令行 、节点数据信息、Watcher监听机制 )】(二)-全面详解(学习总结---从入门到深化)

 示例:

[zk: localhost:2181(CONNECTED) 0]create /zk-book xiaotong

读取

读取节点信息ls命令和set命令。

ls命令

语法结构:

ls path [watch]

示例:

ls /

Zookeeper【部署(伪集群安装、集群安装、服务管理)系统模型(数据模型、节点特性 、客户端命令行 、节点数据信息、Watcher监听机制 )】(二)-全面详解(学习总结---从入门到深化)

 get命令

使用get命令,可以获取zookeeper指定节点的数据内容和属性信息。

语法格式:

get path [watch]

示例:

get /zk-book

更新

使用set命令,可以更新指定节点的数据内容。

语法结构:

set path data [version]

参数:

data就是要更新的新内容。注意,set命令后面还有一个version 参数,在ZooKeeper 中,节点的数据是有版本概念的,这个参数用于指定本次更新操作是基于ZNode的哪一个数据版本进行的。

删除 

删除zookeeper上的指定节点。

语法结构:

delete path [version]

示例:

create /zk-book 123
create /zk-book/child 12345
delete /zk-book

Zookeeper【部署(伪集群安装、集群安装、服务管理)系统模型(数据模型、节点特性 、客户端命令行 、节点数据信息、Watcher监听机制 )】(二)-全面详解(学习总结---从入门到深化)

实时效果反馈

1.Zookeeper技术中__添加节点。 

A create

B delete

C set

D get

 

2. Zookeeper技术中____删除节点。

A create

B delete

C set

D get

Zookeeper系统模型_节点数据信息

Zookeeper【部署(伪集群安装、集群安装、服务管理)系统模型(数据模型、节点特性 、客户端命令行 、节点数据信息、Watcher监听机制 )】(二)-全面详解(学习总结---从入门到深化)

节点的状态结构 

每个节点都有属于自己的状态信息,这就很像每个人的身份信息一样。

语法结构:

[zk: localhost:2181(CONNECTED) 15] stat /a
cZxid = 0x300000014
ctime = Thu Dec 30 15:05:07 CST 2021
mZxid = 0x300000014
mtime = Thu Dec 30 15:05:07 CST 2021
pZxid = 0x300000015
cversion = 1
dataVersion = 0
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 1
numChildren = 1

查看节点类型

语法结构:

create 参数 /java spring

Zookeeper【部署(伪集群安装、集群安装、服务管理)系统模型(数据模型、节点特性 、客户端命令行 、节点数据信息、Watcher监听机制 )】(二)-全面详解(学习总结---从入门到深化)

Zookeeper【部署(伪集群安装、集群安装、服务管理)系统模型(数据模型、节点特性 、客户端命令行 、节点数据信息、Watcher监听机制 )】(二)-全面详解(学习总结---从入门到深化)

 实时效果反馈

1.Zookeeper技术中通过__查看节点数据信息。

A create

B delete

C set

D stat

Zookeeper系统模型_Watcher监听机制 

Zookeeper【部署(伪集群安装、集群安装、服务管理)系统模型(数据模型、节点特性 、客户端命令行 、节点数据信息、Watcher监听机制 )】(二)-全面详解(学习总结---从入门到深化)

ZooKeeper 提供了分布式数据的发布/订阅功能。一个典型的发布/ 订阅模型系统定义了一种一对多的订阅关系,能够让多个订阅者同时监听某一个主题对象,当这个主题对象自身状态变化时,会通知所有订阅者,使它们能够做出相应的处理。 

Zookeeper【部署(伪集群安装、集群安装、服务管理)系统模型(数据模型、节点特性 、客户端命令行 、节点数据信息、Watcher监听机制 )】(二)-全面详解(学习总结---从入门到深化)

Zookeeper【部署(伪集群安装、集群安装、服务管理)系统模型(数据模型、节点特性 、客户端命令行 、节点数据信息、Watcher监听机制 )】(二)-全面详解(学习总结---从入门到深化)

 监听机制

监听节点变化

语法结构:

ls -w path

Zookeeper【部署(伪集群安装、集群安装、服务管理)系统模型(数据模型、节点特性 、客户端命令行 、节点数据信息、Watcher监听机制 )】(二)-全面详解(学习总结---从入门到深化)

监听节点的值的变化 

语法结构:

get -w path

Zookeeper【部署(伪集群安装、集群安装、服务管理)系统模型(数据模型、节点特性 、客户端命令行 、节点数据信息、Watcher监听机制 )】(二)-全面详解(学习总结---从入门到深化)

实时效果反馈

1.Zookeeper引入了___机制来实现这种分布式的通知功能。 

A stat

B create

C delete

D watcher

 

2. Zookeeper技术中如何监听节点 /java 的值的变化。

A ls /java

B ls /java watch

C get /java

D get -w /java

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月12日 0

暂无评论

推荐阅读
TEZNKK3IfmPf