Zookeeper安装教程

来源:互联网 发布:淘宝秒杀技巧软件下载 编辑:程序博客网 时间:2024/05/16 19:16

Zookeeper教程


1.1 zookeeper简介

ZooKeeper是一个开源分布式协调服务,独特的Leader-Follower的集群结构,很好的解决了分布式单点问题。目前主要用于诸如:统一命名服务、配置管理、锁服务、集群管理等场景。


1.2 基本概念

Zookeeper中的角色主要有以下三类,如下表所示:


系统模型如图所示:



1.3 设计目的

1、最终一致性:client不论连接到哪个Server,展示给它都是同一个视图,这是zookeeper最重要的性能。

2、可靠性:具有简单、健壮、良好的性能,如果消息m被到一台服务器接受,那么它将被所有的服务器接受。

3、实时性:Zookeeper保证客户端将在一个时间间隔范围内获得服务器的更新信息,或者服务器失效的信息。但由于网络延时等原因,Zookeeper不能保证两个客户端能同时得到刚更新的数据,如果需要最新数据,应该在读数据之前调用sync()接口。

4、等待无关(wait-free):慢的或者失效的client不得干预快速的client的请求,使得每个client都能有效的等待。

5、原子性:更新只能成功或者失败,没有中间状态。

6、顺序性:包括全局有序和偏序两种:全局有序是指如果在一台服务器上消息a在消息b前发布,则在所有Server上消息a都将在消息b前被发布;偏序是指如果一个消息b在消息a后被同一个发送者发布,a必将排在b前面


2相关下载


2.1Java环境

ZooKeeper使用Java语言编写,因此它的运行需要Java环境的支持,可以下载1.6或以上的Java(建议下载Oracle官方发布的Java,下载地址:http://www.oracle.com/technetwork/java/javase/downloads/index.html)。

2.2Zookeeper下载


2.2.1下载地址

1ZooKeeper中间件下载:zookeeper-3.4.5.tar.gz

2ZooKeeper官网下载:http://zookeeper.apache.org/releases.html#download

3zookeeper-3.4.5.tar.gz包:

   


2.2.2环境变量

修改/etc/profile文件:vi/etc/profile

profile文件末尾加入:

 


2.2.3Zookeeper目录结构

  


3集群与单机


3.1集群模式


3.1.1修改配置文件zoo.cfg

初次使用ZooKeeper,需要将%ZOOKEEPER_HOME%/conf目录下的zoo_sample.cfg文件重命名为zoo.cfg,并且按照如下代码进行简单配置即可。

tickTime=2000

initLimit=10

syncLimit=5

dataDir=/usr/local/software/zookeeper/data

clientPort=2181

server.0=192.168.10.131:2888:3888

server.1=192.168.10.132:2888:3888

server.2=192.168.10.133:2888:3888


3.1.1.1服务器标识配置

1、创建文件夹:mkdir data

2、创建文件myid并填写内容为0vi myid (内容为服务器标识 0)

3、把192.168.1.132192.168.1.133中的myid文件里的值修改为12路径(vi%ZOOKEEPER_HOME%/data/myid)

4、按照相同的步骤,为其它机器都配置上zoo.cfgmyid文件。


3.1.2启动服务

zkServer.sh start




3.1.3验证服务





 

3.2单机模式


   单机模式只是一种特殊的集群模式而已——只有一台机器的集群,单机模式的部署步骤和集群模式的部署步骤基本一致,只是在zoo.cfg文件的配置上有些差异。由于我们现在是单机模式,整个ZooKeeper集群中只有一台机器,所以需要对zoo.cfg做如下修改:

   tickTime=2000

   initLimit=10

   syncLimit=5

   dataDir=/usr/local/software/zookeeper/data

   clientPort=2181

   server.0=192.168.10.131:2888:3888  

   和集群模式的唯一区别就在机器列上,在单机模式的zoo.cfg文件中,只有server.0=192.168.10.131:2888:3888,修改完就可以启动服务器了。

 

3.2.1   启动服务

zkServer.sh start

  

3.2.2验证服务


  

  

   在群群模式:Mode显示的是leaderfollower

   在单机模式:Mode显示的是standalone


3.3Zookeeper可执行脚本


3.3.1zookeeper bin目录文件列表


3.3.2zookeeper可执行脚本     

脚本

说明

zkCleanup.sh

清理Zookeeper历史数据,包括事务日志文件和快照数据文件

zkCli.sh

Zookeeper的一个简易客户端

zkEnv.sh

设置ZooKeeper的环境变量

zkServer.sh

Zookeepere服务器的启动、停止和重启脚本

                                                                                                                                                                                                                                                         ——厚积薄发(yuanxw

0 0
原创粉丝点击