Zookeeper安装和简单使用

Zookeeper安装和简单使用


介绍

ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件。

它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。

ZooKeeper的目标就是封装好复杂易出错的关键服务,将简单易用的接口和性能高效、功能稳定的系统提供给用户。

我工作中实际应用:服务化架构时使用到了Zookeeper结合Dubbo来完成、还应用过其分布式锁的功能。

zookeeper服务


ZooKeeper’s Hierarchical Namespace

zookeeper就像linux下的文件目录层次,是树形结构

Paxos算法

TODO

安装zookeeper(单机)

1、首先去http://zookeeper.apache.org/官网下载当前稳定版本
2、解压到本地目录下(D:/Zookeeper/)
3、在conf目录下创建zoo.cfg(默认情况下有一个zoo_sample.cfg)在zoo.cfg文件中添加如下配置

    tickTime=2000
    dataDir=D:/Zookeeper/Data
    clientPort=2181

4、键入cmd进入dos窗口,进入zookeeper安装路劲的bin目录,运行zkServer.cmd 命令启动zookeeper服务
5、另开一个dos窗口,进入zookeeper安装路径的bin目录,运行zkCli.cmd命令(完整的命令是zkCli.cmd -server host:port),即获得与指定zookeeper服务器的连接了

配置说明

tickTime
the basic time unit in milliseconds used by ZooKeeper. It is used to do heartbeats and the minimum session timeout will be twice the tickTime.

dataDir
the location to store the in-memory database snapshots and, unless specified otherwise, the transaction log of updates to the database.

clientPort
the port to listen for client connections

zookeeper所有命令

zookeeper所有命令

安装zookeeper(集群)

之所以存在集群是为了防止单机时,物理服务器宕机时引起服务全局失效,因此在多台物理服务器上部署相同的功能和服务。


单机上配置集群严格来讲并不是真正集群只能算伪集群。

单机和集群配置主要在于zoo.cfg配置有所改变,其它并没有变化

tickTime=2000
dataDir=/var/lib/zookeeper
clientPort=2181
initLimit=5
syncLimit=2
server.1=zoo1:2888:3888
server.2=zoo2:2888:3888
server.3=zoo3:2888:3888

TODO

zookeeper分布式锁实现

zookeeper应用场景

1、数据发布与订阅(配置中心)
2、负载均衡
3、命名服务
4、分布式通知/协调
5、集群管理与Master选举
6、分布式锁

参考:https://www.zhihu.com/search?type=content&q=zookeeper%E5%BA%94%E7%94%A8%E5%9C%BA%E6%99%AF

总结

通常zookeeper不会单独出现,通常是会出现在分布式场景下。比如和dubbo一起结合使用。

参考

1、http://zookeeper.apache.org/doc/r3.4.8/zookeeperStarted.html

你可能感兴趣的:(优秀开源框架和组件,架构与设计)