概述
之前在大数据的相关专栏中介绍过ZooKeeper的相关内容,但是比较粗略,打算详细地对ZooKeeper的理论与实战进行一个学习。
介绍
来自官方文档对ZooKeeper的介绍:
ZooKeeper 是分布式应用程序的分布式的开源的协调服务。它公开了一组简单的原语,分布式应用程序可以在这些原语的基础上实现更高级别的同步、配置维护、组和命名服务。它被设计为易于编程,并使用一种数据模型,该模型以熟悉的文件系统目录树结构为样式。它在Java中运行,并具有 Java 和 C 的绑定。
众所周知,协调服务很难做好。它们特别容易出现竞争条件和死锁等错误。ZooKeeper 背后的动机是减轻分布式应用程序从头开始实现协调服务的压力。
从官方的定义和介绍可以看出来这几点:
- 面向的对象:分布式应用程序
- 功能:协调服务,对分布式的应用程序进行协调管理
- 分布式:ZooKeeper本身是可以分布式的,避免了单点故障导致治理下的分布式程序全部挂掉
- 开源的:ZooKeeper是一个Apache下的开源的项目
- 原语:ZooKeeper自己定义了一系列的原语,也是通过简单的原语实现复杂的功能
- 文件系统目录树结构:ZooKeeper的数据模型类似于文件系统的结构,是一个树状的
安装
操作系统:macOS
下载地址:官网下载
我的安装目录:/usr/local/software
下载完成后是一个压缩包,首先解压并移动到自己创建的文件夹下:
tar -zxvf apache-zookeeper-3.7.1-bin.tar.gz
mv apache-zookeeper-3.7.1-bin/ zookeeper
在/usr/local/software/zookeeper下创建目录data和log
cd /usr/local/software/zookpeer
mkdir data
mkdir log
更改配置文件,指定data目录和log目录
主要参数为:
- tickTime:ZooKeeper 使用的基本时间单位,以毫秒为单位。它用于做心跳,最小会话超时将是 tickTime 的两倍。
- dataDir:存储内存数据库快照的位置,除非另有说明,否则存储数据库更新的事务日志。
- clientPort:监听客户端连接的端口
接下来,启动:
bin/zkServer.sh start
启动客户端:
bin/zkCli.sh -server 127.0.0.1:2181
接下来就可以执行一些简单的命令了,可以参考官网的命令行参考文档
例如
# 显示/下的节点
[zk: 127.0.0.1:2181(CONNECTED) 2] ls /
[zookeeper]
# 创建节点
[zk: 127.0.0.1:2181(CONNECTED) 3] create /zk_test my_data
Created /zk_test
[zk: 127.0.0.1:2181(CONNECTED) 4] ls /
[zk_test, zookeeper]
# 获取节点
[zk: 127.0.0.1:2181(CONNECTED) 5] get /zk_test
my_data
# -s 获取status
[zk: 127.0.0.1:2181(CONNECTED) 6] get -s /zk_test
my_data
cZxid = 0x2
ctime = Thu Jun 09 20:57:23 CST 2022
mZxid = 0x2
mtime = Thu Jun 09 20:57:23 CST 2022
pZxid = 0x2
cversion = 0
dataVersion = 0
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 7
numChildren = 0
参考
ZooKeeper-Overview
ZooKeeper-命令行参考文档
最后
以上就是奋斗小鸽子为你收集整理的ZooKeeper 1:简介与安装介绍安装参考的全部内容,希望文章能够帮你解决ZooKeeper 1:简介与安装介绍安装参考所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复