zookeeper的基本功能和应用场景

zookeeper详解

zookeeper的整体运行机制

zookeeper详解

zookeeper的数据存储机制

zookeeper中对用户的数据采用kv形式存储

只是zk有点特别:

key:是以路径的形式表示的,那就以为着,各key之间有父子关系,比如

/ 是顶层key

用户建的key只能在/ 下作为子节点,比如建一个key: /aa  这个key可以带value数据

 也可以建一个key:   /bb

也可以建key: /aa/xx

zookeeper中,对每一个数据key,称作一个znode

综上所述,zk中的数据存储形式如下:

zookeeper详解

 

zookeeper的集群部署

  1. 上传安装包到集群服务器
  2. 解压
  3. 修改配置文件

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

cp zoo_sample.cfg zoo.cfg

vi zoo.cfg

# The number of milliseconds of each tick
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/root/zkdata
clientPort=2181

#autopurge.purgeInterval=1
server.1=hdp20-01:2888:3888
server.2=hdp20-02:2888:3888
server.3=hdp20-03:2888:3888

对3台节点,都创建目录 mkdir /root/zkdata

对3台节点,在工作目录中生成myid文件,但内容要分别为各自的id: 1,2,3

hdp20-01上:  echo 1 > /root/zkdata/myid

hdp20-02上:  echo 2 > /root/zkdata/myid

hdp20-03上:  echo 3 > /root/zkdata/myid

  1. 从hdp20-01上scp安装目录到其他两个节点

scp -r zookeeper-3.4.6/ hdp20-02$PWD

scp -r zookeeper-3.4.6/ hdp20-03:$PWD

  1. 启动zookeeper集群

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

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

bin/zkServer.sh start

启动后,用jps应该能看到一个进程:QuorumPeerMain

但是,光有进程不代表zk已经正常服务,需要用命令检查状态:

bin/zkServer.sh status

能看到角色模式:为leader或follower,即正常了。

相关文章:

  • 2021-10-05
  • 2021-07-14
  • 2021-09-30
  • 2021-08-09
猜你喜欢
  • 2021-10-16
  • 2021-09-05
相关资源
相似解决方案