Zookeeper的安装和简单的使用

前言:

Zookeeper简介

Zookeeper是一个高效的分布式协调服务,可以提供配置信息管理、命名、分布式同步、集群管理、数据库切换等服务。它不适合用来存储大量信息,可以用来存储一些配置、发布与订阅等少量信息。Hadoop、Storm、消息中间件、RPC服务框架、分布式数据库同步系统,这些都是Zookeeper的应用场景。

Zookeeper集群中节点个数一般为奇数个(>=3),若集群中Master挂掉,剩余节点个数在半数以上时,就可以推举新的主节点,继续对外提供服务。

客户端发起事务请求,事务请求的结果在整个Zookeeper集群中所有机器上的应用情况是一致的。不会出现集群中部分机器应用了该事务,而存在另外一部分集群中机器没有应用该事务的情况。在Zookeeper集群中的任何一台机器,其看到的服务器的数据模型是一致的。Zookeeper能够保证客户端请求的顺序,每个请求分配一个全局唯一的递增编号,用来反映事务操作的先后顺序。Zookeeper将全量数据保存在内存中,并直接服务于所有的非事务请求,在以读操作为主的场景中性能非常突出。

Zookeeper使用的数据结构为树形结构,根节点为"/"。Zookeeper集群中的节点,根据其身份特性分为leader、follower、observer。leader负责客户端writer类型的请求;follower负责客户端reader类型的请求,并参与leader选举;observer是特殊的follower,可以接收客户端reader请求,但是不会参与选举,可以用来扩容系统支撑能力,提高读取速度。

Zookeeper是一个基于观察者模式设计的分布式服务管理框架,负责存储和管理相关数据,接收观察者的注册。一旦这些数据的状态发生变化,zookeeper就负责通知那些已经在zookeeper集群进行注册并关心这些状态发生变化的观察者,以便观察者执行相关操作。

Zookeeper使用的是ZAB原子消息广播协议,节点之间的一致性算法为Paxos,能够保障分布式环境中数据的一致性。分布式场景下高可用是Zookeeper的特性,可以采用第三方客户端的实现,即Curator框架。

一:上传安装包到master并解压


    tar -xvf zookeeper-3.4.6.tar.gz

Zookeeper的安装和简单的使用

二:配置环境变量


    vim /etc/profile

Zookeeper的安装和简单的使用
    ZOOKEEPER_HOME=/usr/local/soft/zookeeper-3.4.6
    export PATH=$PATH:$ZOOKEEPER_HOME/bin

Zookeeper的安装和简单的使用
    source /etc/profile

Zookeeper的安装和简单的使用

三:修改配置文件


    cd conf
    cp  zoo_sample.cfg zoo.cfg

Zookeeper的安装和简单的使用
    然后修改zoo.cfg
    dataDir=/usr/local/soft/zookeeper-3.4.6/data

Zookeeper的安装和简单的使用
    增加
server.0=master:2888:3888
server.1=node1:2888:3888
server.2=node2:2888:3888

Zookeeper的安装和简单的使用

四:同步到其它节点


    scp -r zookeeper-3.4.6 node1:`pwd`
    scp -r zookeeper-3.4.6 node2:`pwd`

Zookeeper的安装和简单的使用

Zookeeper的安装和简单的使用
    配置node1和node2的环境变量
    scp /etc/profile node1:/etc/

Zookeeper的安装和简单的使用
    scp /etc/profile node2:/etc/

Zookeeper的安装和简单的使用

五:创建/usr/local/soft/zookeeper-3.4.6/data目录,所有节点都要创建


    mkdir /usr/local/soft/zookeeper-3.4.6/data
    在data目录下创建myid文件
    vim myid 分别加上0,1,2

Zookeeper的安装和简单的使用

Zookeeper的安装和简单的使用

Zookeeper的安装和简单的使用
    
六:启动zk


    zkServer.sh start  三台都需要执行

Zookeeper的安装和简单的使用

可以查看jps看是否启动zookeeper

Zookeeper的安装和简单的使用
    zkServer.sh status 查看状态

Zookeeper的安装和简单的使用

Zookeeper的安装和简单的使用
   当有一个leader的时候启动成功

七:连接zk

在cd /usr/local/soft/zookeeper-3.4.6/bin 目录下执行./zkCli.sh 就出出现如下画面

Zookeeper的安装和简单的使用

Zookeeper的安装和简单的使用

zk shell命令

    创建目录
    create /test test
    create /test/a 1
    
    获取数据
    get /test
    ls /test
    delete 只能删除没有子节点的节点
    rmr /test  删除节点

Zookeeper的安装和简单的使用
八:重置zk

1、杀掉所有zk进程
kiil -9 pid

2、删除data目录下的version文件
rm -rf /usr/local/soft/zookeeper-3.4.6/data/version-2

3、启动zk
zkServer.sh start