Zookeeper
文章平均质量分 73
qianshanding0708
精于此道、乐于此道、以此为生
展开
-
Zookeeper配置文件(全)
ZooKeeper Server启动时,默认读取$ZOOKEEPER_HOME/conf/zoo.cfg文件,zoo.cfg文件配置了Zookeeper所有的运行参数。最低配置 参数名 默认 描述 clientPort 服务的监听端口 dataDir ...原创 2015-11-27 11:16:06 · 15129 阅读 · 0 评论 -
通过Java代码获取Zookeeper服务器状态
有的时候,我们想知道Zookeeper集群中哪些服务器属于Leader,哪些属于Follower,哪些属于Observer。通过命令,可以很容易的获取到Zookeeper服务器的状态: [hadoop@hadoopcluster84 bin]$ ./zkServer.sh statusJMX enabled by defaultUsing config: /home/hadoop...原创 2015-12-22 10:57:59 · 6040 阅读 · 1 评论 -
Zookeeper源码解析之Server启动
本篇讲述Zookeeper Server启动过程。Zookeeper的源码可以在Github中下载,地址是:https://github.com/apache/zookeeper/。不过是用ivy构建,所以有兴趣的话,可以安装ivy来构建Zookeeper。Zookeeper的启动类:org.apache.zookeeper.server.quorum.QuorumPeerMain通过Ma...原创 2015-12-03 11:09:41 · 3006 阅读 · 0 评论 -
Zookeeper超级用户
Zookeeper管理员会因为某些客户端对某些节点设置了权限,而导致在紧急的情况下无法修改这些节点感到困扰。在这种情况下,管理员可以通过Zookeeper超级用户模式访问这些节点,一旦设置了超级权限访问节点,后续的操作就不需要check ACL了。使用超级用户模式,可以通过Zookeeper的zookeeper.DigestAuthenticationProvider.superDigest参...原创 2015-12-02 10:30:45 · 8238 阅读 · 0 评论 -
Zookeeper之基于Observer部署架构
Observers:在不伤害写性能的情况下扩展Zookeeper尽管通过Client直接连接到Zookeeper集群的性能已经非常好了,但是这种架构如果要承受超大规模的Client,就必须增加Zookeeper集群的Server数量,随着Server的增加,Zookeeper集群的写性能必定下降,我们知道Zookeeper的Znode变更是要过半数投票通过,随着机器的增加,由于网络消耗等原因必...原创 2015-12-20 18:37:51 · 12122 阅读 · 10 评论 -
Zookeeper Watch机制
Znode发生变化(Znode本身的增加,删除,修改,以及子Znode的变化)可以通过Watch机制通知到客户端。那么要实现Watch,就必须实现org.apache.zookeeper.Watcher接口,并且将实现类的对象传入到可以Watch的方法中。Zookeeper中所有读操作(getData(),getChildren(),exists())都可以设置Watch选项。Watch事件具有o...原创 2015-11-30 14:41:59 · 10615 阅读 · 0 评论 -
zookeeper数据模型
Zookeeper的数据模型类似于Unix标准文件系统,只是文件目录里面没有文件。而是统称为Znode。Znode可以存放数据,以二进制的形式(默认不超过1MB)。这样就构成了类似文件系统的层次化命名空间。其实就是树形结构。下图是Zookeeper节点的数据模型:Znode从持久化的角度来说,可以分类两类:持久化节点(PERSISTENT Node):创建新增删除等操作会更新到事务...原创 2015-12-01 21:28:05 · 2027 阅读 · 0 评论 -
Zookeeper你应该了解基础知识
简介Apache ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,由Client和Server构成,Server提供了一致性复制和存储服务,Client包含一个简单的原语集,分布式应用程序可以基于它实现同步服务,配置维护和命名服务等。ZooKeeper的设计非常易于编程,ZooKeeper维护着一个hierarchal(层次)的名字空间,它采用树形的数据结构,类似于标准文件...原创 2015-11-26 15:36:44 · 5050 阅读 · 2 评论 -
Zookeeper ACL权限控制
Zookeeper使用ACL来控制访问Znode,ACL的实现和UNIX的实现非常相似:它采用权限位来控制那些操作被允许,那些操作被禁止。但是和标准的UNIX权限不同的是,Znode没有限制用户(user,即文件的所有者),组(group)和其他(world)。Zookeepr是没有所有者的概念的。每个ZNode的ACL是独立的,且子节点不会继承父节点的ACL。例如:Znode /app对于i...原创 2015-12-01 11:54:44 · 6160 阅读 · 0 评论 -
Zookeeper集群安装及命令
安装Zookeeper安装环境:10.0.1.8210.0.1.8310.0.1.84 第一步:下载Zookeeper下载地址:http://www.apache.org/dyn/closer.cgi/zookeeper/,目前的稳定版本是3.4.6第二步:解压Zookeepertar zxvf zookeeper-3.4.6.tar.gz第三步:配置con...原创 2015-11-27 15:25:44 · 1852 阅读 · 0 评论 -
Zookeeper选主流程和同步流程
Zookeeper的核心是原子广播(Zab:Zookeeper Atomic Broadcast),该机制保证各个Server之间的同步。Zab协议有两种模式,分别是恢复模式和广播模式。恢复模式:当Leader挂掉或者启动Server时,Zab就进入了恢复模式,当领导者被选举出来,且大多数Server的完成了和leader的状态同步以后,恢复模式就结束了。广播模式:状态同步保证了Leade...原创 2015-12-04 16:01:37 · 5098 阅读 · 0 评论