Zookeeper - 什么是Zookeeper,以及zookeeper的安装(1)

Zookeeper

什么是Zookeeper?

官网传送门

ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。

从设计模式来说基于观察者模式设计的分布式服务管理框架,存储大家都关心的数据,然后接受观察者的注册。一旦这些数据状态发生变化,zookeeper就将负责通知已经注册的观察者做出反应.

Zookeeper的安装

镜像链接

Zookeeper的安装很简单,只需要下载压缩包,然后解压。

解压后的目录:

有几个重要文件目录要注意,bin里面存放着zookeeper命令操作文件,conf就是配置了。

 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 初始连接时间,超过这个时间连接失败 10 * tickTime
 6 # The number of ticks that can pass between
 7 # sending a request and getting an acknowledgement
 8 syncLimit=5 数据同步时间 5 * tickTime
 9 # the directory where the snapshot is stored.
10 # do not use /tmp for storage, /tmp here is just
11 # example sakes.
12 dataDir=/tmp/zookeeper 数据存放目录,开发的时候一般会改
13 # the port at which the clients will connect
14 clientPort=2181 初始默认端口
15 # the maximum number of client connections.
16 # increase this if you need to handle more clients
17 #maxClientCnxns=60
18 #
19 # Be sure to read the maintenance section of the
20 # administrator guide before turning on autopurge.
21 #
22 # http://zookeeper.apache.org/doc/current/zookeeperAdmin.html#sc_maintenance
23 #
24 # The number of snapshots to retain in dataDir
25 #autopurge.snapRetainCount=3
26 # Purge task interval in hours
27 # Set to "0" to disable auto purge feature
28 #autopurge.purgeInterval=1
29 ~
30 ~                                      

修改conf文件下的zoo_simple.cfg 改成zoo.cfg

  • 然后进入到zookeeper/bin/下

windows使用zkServer.cmd启动服务zkCli.cmd启动客户端,

linux是使用./zkService.sh start启动服务./zkCli.sh start启动服务

也可以用四字命令查看

echo ruok | nc localhost 2181

出现imok就代表启动了

这样我们就已经安装好了zookeeper了

zookeeper数据结构

zookeeper的数据结构很像文件系统,但是在zookeeper中并没有目录这样的概念。在zookeeper中每一个结构成为znode(zookeeper node).

/app1等就是路径PATH
在每个Znode节点中还可以存储少量的数据,官网的解释是(ZooKeeper旨在存储协调数据:状态信息,配置,位置信息等,因此存储在每个节点的数据通常很小,在字节到千字节范围内。)

通过

create /amber hahaha

可以创建一个PATH为/amber value为hahaha的Znode节点

get /amber

通过get /amber 我们可以在第一行看到znode的value “hahaha”

橙色部分统称为Stat结构体,描述当前znode的信息

hahaha //znode的value值
cZxid = 0x1d //创建znode的事务id
ctime = Mon Dec 03 23:19:30 CST 2018 //创建时间
mZxid = 0x1d //修改znode的事务id
mtime = Mon Dec 03 23:19:30 CST 2018 //修改时间
pZxid = 0x1d
cversion = 0
dataVersion = 0
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 6 //value的length
numChildren = 0 //子节点的个数

除此之外可以通过help查看zookeeper的操作命令

原文地址:https://www.cnblogs.com/amberbar/p/10057927.html

时间: 2024-10-08 20:34:20

Zookeeper - 什么是Zookeeper,以及zookeeper的安装(1)的相关文章

SolrCloud4.9+zookeeper在CentOS上的搭建与安装

Apache SolrCloud安装 SolrCloud通过ZooKeeper集群来进行协调,使一个索引进行分片,各个分片可以分布在不同的物理节点上,多个物理分片组成一个完成的索引Collection.SolrCloud自动支持Solr Replication,可以同时对分片进行复制,冗余存储.下面,我们基于Solr最新的4.9.0版本进行安装配置SolrCloud集群. 1. 安装环境 我使用的安装程序各版本如下: Solr: Apache Solr-4.9.0 Tomcat: Apache

【Linux 初学】zookeeper集群、win下Jenkins安装(三)

1.zookeeper集群: Java大型的项目中,环境变量的配置很重要,如果没有很好的配置环境变量的话,甚至项目连启动都是难事. export ZOOKEEPER_HOME=/home/zookeeper-3.3.3 export PATH=$PATH:$ZOOKEEPER_HOME/bin:$ZOOKEEPER_HOME/conf (1)ZooKeeper的单机模式部署 ZooKeeper的单机模式通常是用来快速测试客户端应用程序的,在实际过程中不可能是单机模式.单机模式的配置也比较简单.

zookeeper(三)--- 搭建zookeeper集群

zookeeper(三)--- 搭建zookeeper集群 环境 vagrant虚拟机 centos7 SecureCRT 软件 zookeeper3.4.6.tar.gz 步骤 1.使用vagrant创建3个虚拟机 IP地址:192.168.21.222,192.168.21.223,192.168.22.224 2.使用SecureCRT链接虚拟机 3.安装配置zookeeper 安装配置Zookeeper集群 解压 tar xzvfzookeeper-3.4.6.tar.gz 重命名解压后

【Zookeeper】分布式服务框架 Zookeeper -- 管理分布式环境中的数据

Zookeeper 分布式服务框架是 Apache Hadoop 的一个子项目,它主要是用来解决分布式应用中经常遇到的一些数据管理问题,如:统一命名服务.状态同步服务.集群管理.分布式应用配置项的管理等.本文将从使用者角度详细介绍 Zookeeper 的安装和配置文件中各个配置项的意义,以及分析 Zookeeper 的典型的应用场景(配置文件的管理.集群管理.同步锁.Leader 选举.队列管理等),用 Java 实现它们并给出示例代码. 安装和配置详解 本文介绍的 Zookeeper 是以 3

Zookeeper实战之嵌入式执行Zookeeper集群模式

非常多使用Zookeeper的情景是须要我们嵌入Zookeeper作为自己的分布式应用系统的一部分来提供分布式服务.此时我们须要通过程序的方式来启动Zookeeper.此时能够通过Zookeeper API的ZooKeeperServerMain类来启动Zookeeper服务. 以下是一个集群模式下启动Zookeeper服务的样例 这里假定我们执行Zookeeper集群的三台机器名分别为fanbinx1,fanbinx2,fanbinx3  首先是zoo.cfg配置文件 tickTime=200

ZooKeeper学习第七期---ZooKeeper一致性原理

转:http://www.cnblogs.com/sunddenly/p/4138580.html 一.ZooKeeper 的实现 1.1 ZooKeeper处理单点故障 我们知道可以通过ZooKeeper对分布式系统进行Master选举,来解决分布式系统的单点故障,如图所示. 图 1.1 ZooKeeper解决单点故障 那么我们继续分析一下,ZooKeeper通过Master选举来帮助分布式系统解决单点故障,保证该系统中每时每刻只有一个Master为分布式系统提供服务.也就是说分布式的单点问题

Zookeeper实战之嵌入式运行Zookeeper集群模式

很多使用Zookeeper的情景是需要我们嵌入Zookeeper作为自己的分布式应用系统的一部分来提供分布式服务,此时我们需要通过程序的方式来启动Zookeeper.此时可以通过Zookeeper API的ZooKeeperServerMain类来启动Zookeeper服务. 下面是一个集群模式下启动Zookeeper服务的例子 这里假定我们运行Zookeeper集群的三台机器名分别为fanbinx1,fanbinx2,fanbinx3 首先是zoo.cfg配置文件 tickTime=2000

ZooKeeper学习第八期---ZooKeeper伸缩性

转:http://www.cnblogs.com/sunddenly/p/4143306.html 一.ZooKeeper中Observer 1.1 ZooKeeper角色 经过前面的介绍,我想大家都已经知道了在ZooKeeper集群当中有两种角色Leader和Follower.Leader可以接受client请求,也接收其他Server转发的写请求,负责更新系统状态. Follower也可以接收client请求,如果是写请求将转发给Leader来更新系统状态,读请求则由Follower的内存数

ZooKeeper学习第五期--ZooKeeper管理分布式环境中的数据

转:http://www.cnblogs.com/sunddenly/p/4092654.html 引言 本节本来是要介绍ZooKeeper的实现原理,但是ZooKeeper的原理比较复杂,它涉及到了paxos算法.Zab协议.通信协议等相关知识,理解起来比较抽象所以还需要借助一些应用场景,来帮我们理解.由于内容比较多,一口气吃不成胖子,得慢慢来一步一个脚印,因此我对后期ZooKeeper的学习规划如下: 第一阶段: |---理解ZooKeeper的应用 |---ZooKeeper是什么 |--

Zookeeper系列三:Zookeeper客户端的使用(Zookeeper原生API如何进行调用、ZKClient、Curator)

一.Zookeeper原生API如何进行调用 准备工作: 首先在新建一个maven项目ZK-Demo,然后在pom.xml里面引入zk的依赖 <dependency> <groupId>org.apache.zookeeper</groupId> <artifactId>zookeeper</artifactId> <version>3.4.10</version> </dependency> 1. 连接zk并