分布式锁
ZooKeeper是一个树形目录服务,每一个节点都被称为ZNode,每个节点
上都会保存自己的数据和节点信息。 节点可以拥有子节点,同时也允许少量
(1MB)数据存储在该节点上。
ZNode节点类型:
1、环境准备
ZooKeeper服务器是用Java创建的,它运行在JVM之上。需要安装JDK 7或更高版本。
2、上传
将下载的ZooKeeper放到/export/software目录下
3、解压
进入/export/software目录下,将tar包解压到/export/servers目录下
tar -xzvf apache-ZooKeeper-3.5.6-bin.tar.gz -C /export/servers
4、添加环境变量
在/etc/profile全局配置文件中,添加:
export ZK_HOME=/export/servers/apache-zookeeper-3.5.6-bin
export PATH=$PATH:$ZK_HOME/bin
1、配置zoo.cfg
进入到conf目录拷贝一个zoo_sample.cfg并完成配置
#进入到conf目录
cd /export/servers/apache-zookeeper-3.5.6-bin/conf
#拷贝
cp zoo_sample.cfg zoo.cfg
修改zoo.cfg
#进入目录
cd /export/data
#创建zooKeeper存储目录
mkdir zkdata
#修改zoo.cfg
vi /export/servers/apache-zookeeper-3.5.6-bin/conf/zoo.cfg
``
修改存储目录:dataDir=/export/data/zkdata
**2、启动ZooKeeper**
```shell
cd /export/servers/apache-zookeeper-3.5.6-bin/bin
#启动
./zkServer.sh start
3、查看ZooKeeper状态
./zkServer.sh status
zookeeper启动成功。standalone代表zk没有搭建集群,现在是单节点
服务端常用命令
启动 ZooKeeper 服务:
er.sh start
查看 ZooKeeper 服务状态:
./zkServer.sh status
停止 ZooKeeper 服务:
./zkServer.sh stop
重启 ZooKeeper 服务:
./zkServer.sh restart
Zookeeper客户端常用命令
连接ZooKeeper服务端:
./zkCli.sh –server ip:port
断开连接:
quit
显示指定目录下节点
ls 目录
创建持久化节点:
create /节点path # 创建持久化节点但不设置值
create /节点path value # 创建持久化节点并且设置值
获取节点值:
get /节点path
设置节点值:
set /节点path value
删除单个节点:
delete /节点path
删除包含子节点的节点:
deleteall /节点path
创建临时节点:
create -e /节点path value
创建顺序节点:
create -s /节点path value
查询节点详细信息:
ls -s /节点path
通过安装和配置Apache Zookeeper,我们不仅成功搭建了一个分布式协调服务框架,还深入理解了其在维护系统一致性、提供分布式锁服务以及作为高可用性解决方案中的核心作用。通过实践操作,我们学习了Zookeeper的基本命令和API,掌握了如何使用它进行集群管理、状态同步和配置维护。此外,通过监控和调优Zookeeper实例,我们增强了对高性能分布式系统运作机制的认识,提升了解决复杂分布式问题的能力。这一系列的学习和操作经历,让我们对Zookeeper的功能和应用场景有了更加全面和深刻的理解。