随笔分类 - zookeeper
摘要:开源zk客户端-Curator 创建会话: RetryPolicy retryPolicy = new ExponentialBackoffRetry(1000,3); CuratorFramework client = CuratorFrameworkFactory.newClient("192.
阅读全文
摘要:1. zookeeper中的一致性协议-ZAB协议 在深入了解ZK之前,相信很多同学都会认为ZK就是Paxos算法的一个实现。但事实上,ZK并没有完全采用Paxos算法,而是使用了一种称为ZooKeeper Atomic Broadcast(ZAB,ZooKeeper原子消息广播协议)的协议作为其数
阅读全文
摘要:1.从ACID到CAP 我们知道传统集中式系统中实现ACID是很简单的,在分布式环境中,涉及到不同的节点,节点内的ACID可以控制,那么节点间的ACID如何控制呢?构建一个可用性和一致性的分布系统成为难题,于是出现了CAP和BASE这样的理论。 CAP定理: CAP告诉我们一个分布式系统不可能同时满
阅读全文
摘要:zk的应用还是非常广泛的。 1. 分布式锁 单机环境下的锁还是很容易去实现的,但是在分布式环境下一切都变得不是那么简单。zk实现分布式锁的原理还简单,因为在分布式环境中的zk节点的变化会被每一台机器watch,有任何变化都会被通知,所以我们可以利用这个机制: 我们创建一个根节点Lock,在获取锁的时
阅读全文
摘要:Zookeeper的命令行操作 1、 ZooKeeper服务命令 在准备好相应的配置之后,可以直接通过zkServer.sh 这个脚本进行服务的相关操作 1. 启动ZK服务: sh bin/zkServer.sh start 2. 查看ZK服务状态: sh bin/zkServer.sh statu
阅读全文
摘要:zk一般是有2n+1个节点组成的集群。在Zookeeper服务有两个角色,一个是leader,负责写服务和数据同步;剩下的是follower,提供读服务。(为什么是2n+1个节点请看paxos算法) leader实效后会在follower中重新选举新的leader。(paxos算法) 每个follo
阅读全文
摘要:之前我们在搭建hadoop分布式环境的时候用到过Zookeeper注册hadoop服务。那么到底Zookeeper在分布式环境中发挥了什么作用呢,这次我们就来讨论这个问题。 在分布式系统中通常都会有多台机器构成一个集群来对外提供服务,对外来说有几台机器在提供服务它并不关心,那么对内而言组成集群的机器
阅读全文
