zookeeper安装

1.zookeeper

    分布式应用程序的协同服务。

    提供:集中式服务,维护配置信息,命名服务,分布式同步以及组同步。

2.zk组件

    1.client

       分布式应用中的一个节点,访问服务器的信息,周期内向server发送信息,表明自己alive,server向client回复确认信息,若未回复,则client自动重定向消息到另一台服务器。

    2.server

        zk集群中得一个节点,为client提供所有服务,给client回复ack表明server是alive的

    3.Ensemble

        一组ZK服务器,最小节点数从3开始

    4.leader

        连接任何节点故障,leader负责自动恢复,在server启动时完成leader的推选

    5.follower

        听从leader指令

3.名字空间等级——zk数据模型

    类似于linux文件系统的树形结构,每个节点是znode。

    根节点:/

    /config   --集中配置管理,每个znode存储上限1m数据

    /workers --命名服务


    每个znode都有stat的结构 : version + acl + ts + data length

    version:节点关联的数据变化次数

    acl:访问控制列表,权限认证

    ts:时间戳,znode通过txid识别变化

    data length:data长度,上限1m

4.znode类型

    1.Persistence  //持久节点,默认节点类型,客户端断开,一直有效

    2.Ephemeral   //临时节点,会话关闭自动删除,没有子节点。--临时节点删除时,在leader推选下一个节点顶替

    3.Sequential   //序列节点,可永久可临时,创建时,zk附加10个数字的序列号在末端。

5.搭建zk集群

    1.安装jdk

    2.安装zk

        $ wget http://mirrors.cnnic.cn/apache/zookeeper/zookeeper-3.4.8/zookeeper-3.4.8.tar.gz -P /usr/local/src   --下载
        $ tar zxvf zookeeper-3.4.8.tar.gz -C /opt --解压
        $ cd /opt && mv zookeeper-3.4.8 zookeeper
        $ cd zookeeper
        $ cp conf/zoo_sample.cfg conf/zoo.cfg --复制一份        
      配置环境变量etc/environment

     3.配置zk的配置文件zoo.cfg

            tickTime=2000
            dataDir=/././.....
            clientPort=8080
            initLimit=5
            syncLimit=2

    4.启动zk服务器

            $ zkServer.sh start   --启动zk服务器

            $  zkCli.sh               --启动客户端命令行程序

[zk: localhost:2181(CONNECTED) 0] connect localhost:2181 --连接服务器
[zk: localhost:2181(CONNECTED) 2] ls /
[zookeeper]
[zk: localhost:2181(CONNECTED) 3] create /root "hello world" --创建节点
Created /root
[zk: localhost:2181(CONNECTED) 4] ls /
[zookeeper, root]
[zk: localhost:2181(CONNECTED) 5] get /root                 
hello world
cZxid = 0x8
ctime = Wed Feb 21 17:10:41 CST 2018
mZxid = 0x8
mtime = Wed Feb 21 17:10:41 CST 2018
pZxid = 0x8
cversion = 0
dataVersion = 0
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 11
numChildren = 0
[zk: localhost:2181(CONNECTED) 6] stat /root
cZxid = 0x8
ctime = Wed Feb 21 17:10:41 CST 2018
mZxid = 0x8
mtime = Wed Feb 21 17:10:41 CST 2018
pZxid = 0x8
cversion = 0
dataVersion = 0
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 11
numChildren = 0
[zk: localhost:2181(CONNECTED) 7] create -s /root/enode "seq"        --创建序列节点
Created /root/enode0000000000
[zk: localhost:2181(CONNECTED) 2] get /root/enode0000000000        --watch,当在别的节点做set操作时,此处会监控变化
mm
cZxid = 0x9
ctime = Wed Feb 21 17:14:17 CST 2018
mZxid = 0xc
mtime = Wed Feb 21 17:20:56 CST 2018
pZxid = 0x9
cversion = 0
dataVersion = 1
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 2
numChildren = 0
[zk: localhost:2181(CONNECTED) 3] 
WATCHER::
WatchedEvent state:SyncConnected type:NodeDataChanged path:/root/enode0000000000


数据存放位置:zookeeper/data/version-2




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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值