博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
zookeeper的安装与使用
阅读量:6093 次
发布时间:2019-06-20

本文共 2851 字,大约阅读时间需要 9 分钟。

zookeeper的安装与使用:

Zookeeper简介

1、可以作为集群的管理工具使用。

2、可以集中管理配置文件。

        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框架。

 

二、下载:

这里下载的是3.3.6版本。下载地址为:

http://mirrors.cnnic.cn/apache/zookeeper/zookeeper-3.3.6/zookeeper-3.3.6.tar.gz

 2-1   windows下安装:

解压到指定目录下F:\zookeeper

    将F:\zookeeper\conf下的zoo_sample.cfg重命名为 zoo.cfg

 

 主要修改一下日志位置,具体配置文件如下:

1 # The number of milliseconds of each tick   2 tickTime=2000   3 # The number of ticks that the initial    4 # synchronization phase can take   5 initLimit=10   6 # The number of ticks that can pass between    7 # sending a request and getting an acknowledgement   8 syncLimit=5   9 # the directory where the snapshot is stored.  10 dataDir=F:\\zookeeper\\data  11 dataDirLog=F:\\zookeeper\\log  12 # the port at which the clients will connect  13 clientPort=2181

 

配置文件简单解析

1、tickTime:这个时间是作为Zookeeper 服务器之间或客户端与服务器之间维持心跳的时间间隔,也就是每个 tickTime 时间就会发送一个心跳。

2、dataDir:顾名思义就是Zookeeper 保存数据的目录,默认情况下,Zookeeper 将写数据的日志文件也保存在这个目录里。

3、dataLogDir:顾名思义就是Zookeeper 保存日志文件的目录

4、clientPort:这个端口就是客户端连接Zookeeper 服务器的端口,Zookeeper 会监听这个端口,接受客户端的访

 

四、启动

1 进入到bin目录,并且启动zkServer.cmd,这个脚本中会启动一个java进程

 

  1. C:\Users\Z>pushd f:\zookeeper\bin  
  2. f:\zookeeper\bin>zkServer.cmd  

 

2 启动后使用jps命令可以看到QuorumPeerMain的进程

另启动一个cmd.exe

  1. C:\Users\Z>jps -l –v  

3 也可以启动客户端连接一下

再启动一个cmd.exe

 

    • C:\Users\Z>pushd F:\zookeeper\bin  
    • F:\zookeeper\bin>zkCli 127.0.0.1:2181  

好的,安装成功!!!


 

 

2-2  linux环境下安装:

 

Zookeeper是java开发的可以运行在windows、linux环境。需要先安装jdk(1.7以上)。

安装步骤:

第一步:安装jdk

第二步:把zookeeper的压缩包上传到linux系统。

第三步:解压缩压缩包

tar -zxvf zookeeper-3.4.6.tar.gz

第四步:进入zookeeper-3.4.6目录,创建data文件夹。

第五步:把zoo_sample.cfg改名为zoo.cfg

[root@localhost conf]# mv zoo_sample.cfg zoo.cfg

第六步:修改data属性:dataDir=/root/zookeeper-3.4.6/data

第七步:启动zookeeper

[root@localhost bin]# ./zkServer.sh start

关闭:[root@localhost bin]# ./zkServer.sh stop

查看状态:[root@localhost bin]# ./zkServer.sh status

 

注意:需要关闭防火墙。

service iptables stop

永久关闭修改配置开机不启动防火墙:

chkconfig iptables off

如果不能成功启动zookeeper,需要删除data目录下的zookeeper_server.pid文件

 

转载于:https://www.cnblogs.com/dw3306/p/9511905.html

你可能感兴趣的文章
hdu 5115(2014北京—dp)
查看>>
数据结构中常见的树(BST二叉搜索树、AVL平衡二叉树、RBT红黑树、B-树、B+树、B*树)...
查看>>
PHP读取日志里数据方法理解
查看>>
EF 中 自定义的参数查询
查看>>
开源软件与免费软件的区别
查看>>
PAT 1069 The Black Hole of Numbers[简单]
查看>>
第五十七篇、AVAssetReader和AVAssetWrite 对视频进行编码
查看>>
Vivado增量式编译
查看>>
关于.net中获取图像缩略图的函数GetThumbnailImage的一些认识。
查看>>
一个很好的幻灯片效果的jquery插件--kinMaxShow
查看>>
微信支付签名配置正确,但返回-1,调不出支付界面(有的手机能调起,有的不能)...
查看>>
leetcode1029
查看>>
Spring和mybatis的整合
查看>>
第二周例行报告
查看>>
DataTable - the existing record can not be merged,just be added
查看>>
Html5最简单的游戏Demo——Canvas绘图的骰子
查看>>
-bash: mysql: command not found 解决办法
查看>>
MySQL密码过期策略
查看>>
UMDF
查看>>
[置顶] CSS禅意花园——CSS设计的绝美境界
查看>>