赞
踩
ZooKeeper是一个开源分布式协调服务,独特的Leader-Follower的集群结构,很好的解决了分布式单点问题。目前主要用于诸如:统一命名服务、配置管理、锁服务、集群管理等场景。
Zookeeper中的角色主要有以下三类,如下表所示:
Zookeeper系统模型:
Zookeeper设计目的 :
最终一致性: client不论连接到哪个Server,展示给它都是同一个视图
可靠性: 具有简单、健壮、良好的性能,如果消息m被到一台服务器接受,那么它将被所有的服务器接受
实时性: Zookeeper保证客户端将在一个时间间隔范围内获得服务器的更新信息,或者服务器失效的信息。但由于网络延时等原因,Zookeeper不能保证 两个客户端能同时得到刚更新的数据,如果需要最新数据,应该在读数据之前调用sync()接口
等待无关性: 慢的或者失效的client不得干预快速的client的请求,使得每个client都能有效的等待
原子性: 更新只能成功或者失败,没有中间状态
顺序性: 包括全局有序和偏序两种:全局有序是指如果在一台服务器上消息a在消息b前发布,则在所有Server上消息a都将在消息b前被发布;偏序是指如果一个消息b在消息a后被同一个发送者发布,a必将排在b前面
Zookeeper总结:
— 核心特性:解决单点问题,数据一致性。
— API使用:简单清晰
— 使用场景:统一命名服务、配置管理、锁服务、集群管理
— 稳定性:权限,监控,容灾
Zookeeper单节点安装
前置环境
— 主机名、ip、防火墙、selinux、java环境配置
下载解压
— http://archive.apache.org/dist/zookeeper/zookeeper-3.4.5/zookeeper-3.4.5.tar.gz
配置
— 复制配置文件:cp conf/zoo_sample.cfg conf/zoo.cfg
— 配置数据存储目录:dataDir= /home/softwares/zookeeper-3.4.5/data
— 启动:bin/zkServer.shstart
— 查看状态:bin/zkServer.shstatus
— 进入命令行:bin/zkCli.sh
Zookeeper集群安装:
前置环境
— 主机名、ip、防火墙、selinux、java环境配置
配置(修改zoo.conf)
— server.1=hadoop01.jkxy.com:2888:3888
— server.2=hadoop02.jkxy.com:2888:3888
— server.3=hadoop03.jkxy.com:2888:3888
— maxClientCnxns=0 #服务器最大连接数,默认是10,改为0表示没限制
— dataDir= /home/softwares/zookeeper-3.4.5/data #数据存储目录
— autopurge.snapRetainCount=3 #快照数
— autopurge.purgeInterval=1 #快照清理时间,默认为0
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。