zookeeper

转载 2016年04月28日 16:03:31

zookeeper分布式应用程序协调服务,是Hadoop和Hbase的重要组件。提供的功能包括:配置维护、域名服务、分布式同步、组服务等。

Zookeeper:主要是用来解决分布式应用中经常遇到的一些数据管理问题,如:统一命名服务、状态同步服务、集群管理、分布式应用配置项的管理等。
zookeeper架构

Znode维护着数据、ACL(access control list,访问控制列表)、时间戳等交换版本号等数据结构,它通过对这些数据的管理来让缓存生效并且令协调更新。每当Znode中的数据更新后它所维护的版本号将增加,这非常类似于数据库中计数器时间戳的操作方式。

另外Znode还具有原子性操作的特点:命名空间中,每一个Znode的数据将被原子地读写。读操作将读取与Znode相关的所有数据,写操作将替换掉所有的数据。
Zookeeper运用场景

数据发布与订阅
应用配置集中到节点上,应用启动时主动获取,并在节点上注册一个watcher,每次配置更新都会通知到应用。

命名空间服务
分布式命名服务,创建一个节点后,节点的路径就是全局唯一的,可以作为全局名称使用。

分布式通知/协调
不同的系统都监听同一个节点,一旦有了更新,另一个系统能够收到通知。

分布式锁
Zookeeper能保证数据的强一致性,用户任何时候都可以相信集群中每个节点的数据都是相同的。一个用户创建一个节点作为锁,另一个用户检测该节点,如果存在,代表别的用户已经锁住,如果不存在,则可以创建一个节点,代表拥有一个锁。

集群管理
每个加入集群的机器都创建一个节点,写入自己的状态。监控父节点的用户会受到通知,进行相应的处理。离开时删除节点,监控父节点的用户同样会收到通知。

开启zookeeper
./zkServer.sh start
create /节点名称 值
zookeeper只能监控安装zookeeper的节点信息:
get 节点

/letv/data/zookeeper-3.4.5/tmp中的myid,这个id是很重要的,一定要保证整个集群中唯一。
/letv/data/zookeeper-3.4.5/conf /zoo.cfg 配置信息
端口是2181
数据目录:dataDir=/letv/data/zookeeper-3.4.5/tmp
必须要启动集群的一半以上:
查看状态:./zkServer.sh status
最开始启动的是leader,其余是follower
启动自己的客户端:
./zkCli.sh
进程名称:QuorumPeerMain
功能:
1、数据同步,对集群上一台机器上做的操作,会同步到另一台
2、leader死掉后会有内部选举,重新选举leader
3、Hadoop-Ha 中只有一个nameNode处于激活状态,zookeeper用来确保这一点,同时,如果挂掉,zookeeper负责切换,同时将故障转移
4、Zkfc 监控nameNode状态
5、启动journalnode
sbin/hadoop-daemons.sh start journalnode

参考:
http://blog.csdn.net/nsrainbow/article/details/42836479
http://blog.163.com/wm_at163/blog/static/1321734902012325103119779/?suggestedreading&wumii
http://www.yiibai.com/zookeeper/zookeeper_cli.html

Curator API
http://ifeve.com/zookeeper-curato-framework/

搭建:
http://eksliang.iteye.com/blog/2107002
http://eksliang.iteye.com/blog/2226986
http://blog.csdn.net/u011414200/article/details/50248079

启动集群出现如下错误:
Error contacting service. It is probably not running

sh zkServer.sh status #查看当前状态,他会报异常,不要紧,因为是集群,其他两台没有起来,无法进行相互连接,当然报错,启动另外两台就不会报错了!

zookeeper-3.5.3中文api.CHM

  • 2017年11月21日 23:45
  • 370KB
  • 下载

ZooKeeper运维之数据文件和事务日志

1、面临问题: 最近在基于Zookeeper开发一个分布式注册中心,包括两大功能: 配置信息的集中管理;服务的动态注册和发现。 这里面会面临一个问题: 平时在公司开发系统肯定都利用可视化配置界面将所有...

ZooKeeper实现分布式队列Queue

让Hadoop跑在云端系列文章,介绍了如何整合虚拟化和Hadoop,让Hadoop集群跑在VPS虚拟主机上,通过云向用户提供存储和计算的服务。 现在硬件越来越便宜,一台非品牌服务器,2颗24核CPU...

Spingboot-Dubbo-zookeeper实例-带参数

  • 2017年11月29日 14:06
  • 122KB
  • 下载

zookeeper+Dubbo环境搭建所需工具

  • 2017年11月29日 14:00
  • 53MB
  • 下载

ZooKeeper 单机模式和集群模式的环境搭建

ZooKeeper环境搭建下载最新稳定版的 Zookeeper使用的是最新稳定版的 zookeeper-3.4.9Standalone Operation1、 将下载的 ZooKeeper 解压,进入...
  • Mark_LQ
  • Mark_LQ
  • 2016年09月06日 09:46
  • 5411
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:zookeeper
举报原因:
原因补充:

(最多只允许输入30个字)