zookeeper=文件系统+监听通知机制
Zookeeper 存储结构
**
Znode:
在 Zookeeper 中,znode 是一个跟 Unix 文件系统路径相似的节点,可以向节点存储
数据或者获取数据。
Zookeeper 底层是一套数据结构。这个存储结构是一个树形结构,其上的每一个节点,
我们称之为“znode”
Zookeeper 中的数据是按照“树”结构进行存储的。而且 znode 节点还分为 4 中不同
的类型。
每一个 znode 默认能够存储 1MB 的数据(对于记录状态性质的数据来说,够了)
可以使用 zkCli 命令,登录到 Zookeeper 上,并通过 ls、create、delete、get、set
等命令操作这些 znode 节点。
监听通知机制
Zookeeper 是使用观察者设计模式来设计的。当客户端注册监听它关心的目录节点时,
当目录节点发生变化(数据改变、被删除、子目录节点增加删除)时,Zookeeper 会通知客
户端。
Znode 节点类型
PERSISTENT-持久化目录节点
客户端与 zookeeper 断开连接后,该节点依旧存在
PERSISTENT_SEQUENTIAL-持久化顺序编号目录节点
客户端与 zookeeper 断开连接后,该节点依旧存在,只是 Zookeeper 给该节点名称进行顺序编号。
EPHEMERAL-临时目录节点
客户端与 zookeeper 断开连接后,该节点被删除。
EPHEMERAL_SEQUENTIAL-临时顺序编号目录节点
客户端与 zookeeper 断开连接后,该节点被删除,只是 Zookeeper 给该节点名称进行顺序编号。
**
单机版安装:
安装jdk:
export JAVA_HOME=/usr/local/jdk
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$JAVA_HOME/bin:$PATH
解压
tar -zxf zookeeper-3.6.0.tar.gz
1. bin:放置运行脚本和工具脚本,
2. conf:zookeeper 默认读取配置的目录,里面会有默认的配置文件
3. docs:zookeeper 相关的文档
4. lib:zookeeper 核心的 jar
5. logs:zookeeper 日志
配置 Zookeeper
Zookeeper 在启动时默认的去 conf 目录下查找一个名称为 zoo.cfg 的配置文件。
在 zookeeper 应用目录中有子目录 conf。其中有配置文件模板:zoo_sample.cfg
cp zoo_sample.cfg zoo.cfg。zookeeper 应用中的配置文件为 conf/zoo.cfg
修改配置文件 zoo.cfg - 设置数据缓存路径
启动 Zookeeper
默认加载配置文件:./zkServer.sh start:默认的会去 conf 目录下加载 zoo.cfg 配置文件。
指定加载配置文件:./zkServer.sh start 配置文件的路径。