安装jdk,并且配置jdk的环境变量
下载zookeeper的安装包,上传到linux集群环境下
下载地址:
解压安装包:tar -zxvf zookeeper-3.4.7.tar.gz -C path
进入conf目录,复制zoo-sample.cfg为zoo.cfg,通过修改zoo.cfg来对zookeeper进行配置
修改1:dataDir 指定zookeeper将数据保存在哪个目录下,如果不修改,默认在/tmp下,这个目录下的数据有可能会在磁盘空间不足或服务器重启时自动被linux清理,所以一定要修改这个地址
修改2:修改服务器列表
单机模式:在zoo.cfg中只配置一个server.id就是单机模式了
伪分布式:在zoo.cfg中配置多个server.id,其中ip都是当前机器,而端口各部相同,启动时就是伪集群模式了
完全分布式:多台机器各自配置
server.1=xxx.xxx.xxx.xxx:2888:3888
server.2=xxx.xxx.xxx.xxx:2888:3888
server.3=xxx.xxx.xxx.xxx:2888:3888
(观察者可以直接在服务器配置后面添加:observer,即以观察者角色启动)
修改3:到之前配置的zookeeper数据文件所在的目录下生成一个文件叫myid,其中写上一个数字表明当前机器是哪一个编号的机器
启动zookeeper
启动ZK服务: bin/zkServer.sh start
停止ZK服务: bin/zkServer.sh stop
重启ZK服务: bin/zkServer.sh restart
查看ZK服务状态: bin/zkServer.sh status
zookeeper的数据模型
zookeeper中可以保存数据,正是利用zookeeper可以保存数据这一特点,我们的集群通过在zookeeper里存取数据来进行消息的传递。
zookeeper中保存数据的结构非常类似于文件系统。都是由节点组成的树形结构。不同的是文件系统是由文件夹和文件来组成的树,而zookeeper中是由ZNODE来组成的树。
每一个ZNODE里都可以存放一段数据,ZNODE下还可以挂载零个或多个子ZNODE节点,从而组成一个树形结构。
顺序节点 普通节点
临时节点 顺序临时节点 普通临时节点
持久节点 顺序持久节点 普通持久节点
顺序节点:指定叫什么,除了前缀是指定的名字外,在名字后会会自带一个独一无二自动增长的的编号 普通节点:指定叫什么就叫什么
临时节点:一个客户端连接创建的临时节点,会在当客户端会话结束时立即自动删除。 持久节点:创建出来后只要不删除就不会消失,无论客户端是否连接。
zookeeper的shell下操作
执行bin/zkCli.sh [-server ip:port] #如不指定,则连接本机
列出:
ls path [watch] #列出所有数据节点
练习:列出根目录下所有数据节点
ls /
创建:
create [-s] [-e] path data acl #创建数据节点
--其中 -s表示顺序节点 -e表示临时节点,两个都不加则是持久节点
--acl 指定权限控制,不赋值则不进行任何权限控制
练习:创建/zk-book 其中数据为123
Create /zk-book 123
获取:
get path [watch]
练习:列出 /zk-book中的数据
get /zk-book
更新:
set path data [version]
--data 为要更新的内容 version指定要基于哪个版本的数据进行更新
删除:
delete path [version]
--path 为要删除的路径 version指定要基于哪个版本进行删除
--注意,要删除的节点下必须没有任何子节点才能删除成功
阅读(1504) | 评论(0) | 转发(0) |