zookeeper入门学习

zookeeper入门学习

1 zookeeper 安装部署

1.1 上传安装包到集群服务器

1.2 解压

1.3 修改配置文件

进入zookeeper的安装目录的conf目录
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.4 从hdp20-01上scp安装目录到其他两个节点

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

1.5 启动zookeeper集群

zookeeper没有提供自动批量启动脚本,需要手动一台一台地起zookeeper进程
在每一台节点上,运行命令:
bin/zkServer.sh start
启动后,用jps应该能看到一个进程:QuorumPeerMain

但是,光有进程不代表zk已经正常服务,需要用命令检查状态:
bin/zkServer.sh status
能看到角色模式:为leader或follower,即正常了。
linux 脚本启动
vi zkmanager.sh

#!/bin/bash
for host in hadoop06 hadoop07 hadoop08 $1 ;
do ssh $host "source /home/bigdata/.bash_profile;/home/bigdata/zookeeper-3.4.6/bin/zkServer.sh $1"
done

sh zkmanager.sh

2 zookeeper的命令行客户端操作

2.1 zookeeper的数据存储形式

一、zookeeper中存储数据的基本形式为: key , value
二、zookeeper中的key是用路径表示的:
/aa : 88888
/aa/bb : “xxoo”
/aa/cc : “edu360”
/tt: 9898
每一个key-value称为一个znode(zookeeper数据节点)
三、zookeeper中的数据节点有4种类型:
1、持久节点:客户端一旦建立,zk会持久保存,除非有客户端手动删除
2、短暂节点:创建这个节点的客户端一旦断开与zookeeper集群的联系,zookeeper集群就会自动将该节点删除

3、带序号的节点:在同一个父节点下,建带序号的子节点,zk会自动给客户端指定的子节点名后拼接一个自增的序号

4、不带序号的节点:
上述4中类型,可以有以下组合类型:
持久-带序号
持久-不带序号
短暂-带序号
短暂-不带序号

2.2 数据管理功能

创建节点: create /aaa ‘ppppp’
查看节点下的子节点: ls /aaa
获取节点的value: get /aaa
修改节点的value: set /aaa ‘mmmmm’
删除节点:rmr /aaa

2.3 数据监听功能

ls /aaa watch
查看/aaa的子节点的同时,注册了一个监听“节点的子节点变化事件”的监听器

get /aaa watch
获取/aaa的value的同时,注册了一个监听“节点value变化事件”的监听器
注意:注册的监听器在正常收到一次所监听的事件后,就失效

2.4 zookeeper图形化客户端插件

在Eclipse环境下安装ZooKeeper状态查看相关的插件步骤如下:
Step 1. 在 Eclipse 菜单打开Help -> Install New Software…
Step 2. 添加 url http://www.massedynamic.org/eclipse/updates/
Step 3. 选择插件并安装运行
Step 4. 在 Eclipse 菜单打开Window->Show View->Other…->ZooKeeper 3.2.2。
Step 5. 连接ZK 输入正在运行的ZK server 地址和端口
连接成功后就就可以在Eclipse里查看ZK Server里的节点信息。如下所示:

在这里插入图片描述

3. znode类型

zookeeper中的znode有多种类型:
1、PERSISTENT 持久的:创建者就算跟集群断开联系,该类节点也会持久存在与zk集群中persistent
2、EPHEMERAL 短暂的:创建者一旦跟集群断开联系,zk就会将这个节点删除
3、SEQUENTIAL 带序号的:这类节点,zk会自动拼接上一个序号,而且序号是递增的

组合类型:
PERSISTENT :持久不带序号
EPHEMERAL :短暂不带序号
PERSISTENT 且 SEQUENTIAL :持久且带序号
EPHEMERAL 且 SEQUENTIAL :短暂且带序号

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值