zookeeper的安装及简单介绍

zookeeper是什么?

ZooKeeper是一种用于分布式应用程序的分布式开源协调服务。ZooKeeper的实现非常重视高性能,高可用性,严格有序的访问。

ZooKeeperæå¡

zookeeper中的leader,如果连接节点失败,自动恢复,zk服务启动时完成leader选举。

zookeeper的读取很快。写入需要告知leader,leader对每个server进行分发写入。

zookeeper数据模型

ZooKeeper的名称空间很像分布式文件系统。名称是由斜杠(/)分隔的路径元素序列。ZooKeeper名称空间中的每个节点都由路径标识。

ZooKeeperçåå±å½å空é´

ZNodes

ZooKeeper树中的每个节点都称为znode。Znodes维护一个stat结构,包括数据更改的版本号,acl更改。每次znode的数据更改时,版本号都会增加。当客户端执行更新或删除时,它必须提供正在更改的znode的数据版本。如果它提供的版本与实际版本的数据不匹配,则更新将失败。

Znodes的特性:

  • Watches
  • Data Access
  • Wphemeral Nodes
  • Sequence Nodes -- Unique Naming

Session

Session中的请求以FIFO(指先进先出)的方式执行,一旦client连接到server,session就建立了。

客户端以固定间隔向服务端发送心跳,表示session是有效的,zk集群如果没有收到心跳,判定为client挂了,与此同时,临时节点被删除。

Watches (观察)

用于设置客户端监视znodes。当数据发生变化时,将向客户端发送一个监视事件,通知客户端数据发生了变更。watches事件是一次性的,触发后将自动销毁。

Data Access

每个节点都有一个访问控制列表(ACL),限制谁可以做什么。使用ACL来控制对其znode的访问。ACL的实现与UNIX的文件访问权限非常相似:它用权限来允许/禁止对节点的各种操作以及应用的范围。

 

zookeeper单机版安装

1、安装jdk并配置环境变量

2、下载zookeeper安装包,并解压

3、cd ${zookeeper}/conf/

4、mv zoo_sample.cfg zoo.cfg

5、启动zk server :  ${zookeeper}/bin/zkServer.sh start

     查看zk的状态:    ${zookeeper}/bin/zkServer.sh status

6、启动客户端连接到服务器
        zkCli.sh -server s201:2181    //连接zk
        $zk]help                                 //查看帮助
        $zk]quit                                  //退出
        $zk]create /a tom                   //创建节点
        $zk]get /a                               //查看数据
        $zk]ls /                                   //列出节点
        $zk]set /a tom                       //设置数据
        $zk]delete /a                        //删除一个节点
        $zk]rmr /a                            //递归删除所有节点。

zookeeper集群配置

1、准备三台机器: centos7-1 \  centos7-2 \ centos7-3

2、每台机器安装jdk 、安装zk

3、每台机器都修改配置文件 ${zookeeper}/conf/zoo.cfg

修改:dataDir=/home/hadoop/zookeeper/data

并且添加下面的配置

server.1=centos7-1:2888:3888
server.2=centos7-2:2888:3888
server.3=centos7-3:2888:3888

4、在每台机器中创建myid,内容分别为 1、2、3 ...

注意: myid文件必须在data目录下创建,data目录在./conf/zoo.cfg中dataDir配置

机器:centos7-1  执行:echo 1 > /home/hadoop/zookeeper/data/myid

机器:centos7-2  执行:echo 2 > /home/hadoop/zookeeper/data/myid

机器:centos7-3  执行:echo 3 > /home/hadoop/zookeeper/data/myid

5、启动zk集群

./bin/zkServer.sh start 

6、查看zk的状态 (成功启动两台以上zk服务器才算启动成功)

./bin/zkServer.sh status

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值