赞
踩
Zookeeper 是一个分布式服务框架,是ApacheHadoop的一个子项目。从设计模式角度来看,它是基于观察者模式设计的一个分布式协调框架;它负责存储大家关心的数据,观察者订阅关心的数据或结点,当发生变化时,它将通知观察者以实现分布协调。常称分布式协调指挥官!
特点:
Zookeeper数据结构与Unix很相似,整体上可以看作是一个树,每个结点称作一个ZNode,每个Znode可以存储1M数据,每个结点可以通过路径唯一标识。
[root@vm-1154-0-2 conf]# vi zoo.cfg
#The number of milliseconds of each tick
#心跳时间
tickTime=2000
# The number of ticks that the initial
# synchronization phase can take
#初始化启动时10*2000内Leader与Follower的通信期限,没有通信上认为挂了;
initLimit=10
# The number of ticks that can pass between
# sending a request and getting an acknowledgement
#启动之后5*2000内Leader与Follower的通信期限,没有通信上认为挂了;
syncLimit=5
# the directory where the snapshot is stored.
# do not use /tmp for storage, /tmp here is just
# example sakes.
dataDir=/opt/module/zookeeper-3.4.14/zkData
# the port at which the clients will connect
clientPort=2181
# the maximum number of client connections.
# increase this if you need to handle more clients
#maxClientCnxns=60
#
# Be sure to read the maintenance section of the
# administrator guide before turning on autopurge.
#
# http://zookeeper.apache.org/doc/current/zookeeperAdmin.html#sc_maintenance
#
# The number of snapshots to retain in dataDir
#autopurge.snapRetainCount=3
# Purge task interval in hours
# Set to "0" to disable auto purge feature
#autopurge.purgeInterval=1
[root@vm-1154-0-2 zookeeper-3.4.14]# bin/zkServer.sh start
ZooKeeper JMX enabled by default
Using config: /opt/module/zookeeper-3.4.14/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED
[root@vm-1154-0-2 zookeeper-3.4.14]# bin/zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /opt/module/zookeeper-3.4.14/bin/../conf/zoo.cfg
Mode: standalone
常用命令
以上为本地模式
半数以上机制:半数以上主机存活,集群可用,因此Zookeeper适合安装奇数台服务器,否则机器存在浪费;
以5台服务器为例描述选举过程:
结点类型分为是否持久、是否有序;
常用监听
注意:上面的命令每执行一次只监听一次变化。
以下以三个结点的Zookeeper集群为例介绍写数据流程server1,leader,server2:
1、请描述Zookeeper的选举机制?
2、Zookeeper的监听原理?
3、Zookeeper的部署方式有几种?集群方式中有几种角色?集群至少需要几台机器?
4、Zookeeper常用命令有哪些?
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。