博客已经搬家,见[ZooKeeper怎么玩]之一:为什么需要ZK 学习新东西首先需要搞清楚为什么学它,这是符合我们的一个认知过程.<!--more-->#ZooKeeper是什么ZooKeeper是一个分布式协调服务,它致力去解决如何在分布式环境下保持数据一致性的问题. #分布式环境下遇到的问题共享的资源在并发的情况下会出现竞争,在线程间可以使用Java提供的锁机制来协调这些资源,那么在分布式的环境下,如何来协调这些资源呢? 如何协调分布式环境下的资源,首先应该明确由单机环境转到分布式环境下遇…
一. zookeeper 可视化工具   JMX => CLRProfile ZKUI => java写的一个可视化的web网站 github中下载 https://github.com/DeemOpen/zkui git 拉取地址 :https://github.com/DeemOpen/zkui.git   CoentOS 安装 git maven 1. git 安装: (在linux下安装卸载git非常方便)  命令 :yum remove git 删除git  命令 :yum -y i…
一.分布式锁概述 Java中基于AQS框架提供了一系列的锁,但是当需要在集群中的多台机器上互斥执行一段代码或使用资源时Java提供的这种单机锁就没了用武之地,此时需要使用分布式锁协调它们.分布式锁有很多实现,基于redis.基于数据库等等,本次讨论的是基于zk实现分布式锁. 免责声明:下面的分布式锁是本人学习zk时根据其特性摸索出来的实现,并不代表业内权威做法,仅作为不同的思想碰撞出灵感的小火花之用,如有错误之处还望多多指教. 二.不可重入的分布式锁(有羊群效应,不公平锁) 首先比较容易想到的就…
常用命令ZooKeeper 支持某些特定的四字命令字母与其的交互.它们大多是查询命令,用来获取 ZooKeeper 服务的当前状态及相关信息.用户在客户端可以通过 telnet 或 nc 向 ZooKeeper 提交相应的命令. ZooKeeper 常用四字命令见下表 1 所示: 表 1 : ZooKeeper 四字命令 ZooKeeper 四字命令 功能描述 conf 输出相关服务配置的详细信息. cons 列出所有连接到服务器的客户端的完全的连接 / 会话的详细信息.包括“接受 / 发送”的…
本文作者:HelloGitHub-老荀 Hi,这里是 HelloGitHub 推出的 HelloZooKeeper 系列,免费有趣.入门级的 ZooKeeper 开源教程,面向有编程基础的新手. ZooKeeper 是 Apache 软件基金会的一个软件项目,它为大型分布式计算提供开源的分布式配置服务.同步服务和命名注册. ZooKeeper 曾经是 Hadoop 的一个子项目,但现在是一个顶级独立的开源项目. ZK 在实际开发工作中经常会用见到,算的上是吃饭的家伙了,那可得玩透.用的趁手,要不…
Spark使用ZooKeeper进行数据恢复的逻辑过程如下: 1.初始化:创建<CuratorFramwork,LeaderLatch,LeaderLatchListener>用于选举 创建CuratorFramework用于数据恢复. 2.选举:启动LeaderLatch,Curator开始接管选举工作了. 3.恢复:当某个Master被选举为Leader后,就会调用LeaderLatchListener的isLeader()方法,这个方法内部开始进行逻辑上的数据恢复工作,具体细节是这样的,…
1.Zookeeper简介 Zookeeper 是分布式服务框架,主要是用来解决分布式应用中经常遇到的一些数据管理问题,如:统一命名服务.状态同步服务.集群管理.分布式应用配置项的管理等等. 2.zookeeper基本概念 2.1 角色 Zookeeper中的角色主要有以下三类,如下表所示: 系统模型如图所示: 2.2设计目的 1. 最终一致性:client不论连接到哪个Server,展示给它都是同一个视图,这是zookeeper最重要的性能. 2. 可靠性:具有简单.健壮.良好的性能,如果消息…
先给一堆学习文档,方便以后查看 官网文档地址大全: OverView(概述) http://zookeeper.apache.org/doc/r3.4.6/zookeeperOver.html Getting Started(开始入门) http://zookeeper.apache.org/doc/r3.4.6/zookeeperStarted.html Tutorial(教程) http://zookeeper.apache.org/doc/r3.4.6/zookeeperTutorial.…
其实zookeeper系列的学习总结很早就写完了,这段时间在准备找工作的事情,就一直没有更新了.下边给大家送上,文中如有不恰当的地方,欢迎给予指证,不胜感谢!. 1. 数据模型 1.1. 只适合存储小数据 Zk维护着一个逻辑上的树形层次结构,树中的节点称为znode,个znode都有一个ACL(权限控制).Zookeeper是被设计用来协调服务的,因此znode里存储的都是小数据,而不是大容量的数据,数据容量一般在1MB范围内. 1.2. 操作的原子性 Znode的数据读写是原子的,要么读或写了…
dubbo+zoopeeper例子 [TOC] 标签(空格分隔): 分布式 dubbo dubbo相关 dubbo是目前国内比较流行的一种分布式服务治理方案.还有一种就是esb了.一般采用的是基于Apache servicemix 和 Apache Camel和activemq这种方式.这里先介绍一下dubbo的相关. dubbo工程一般分为3个module.一个服务者,一个消费者,一个接口.其中服务者和消费者都依赖于接口文件.工程图类似如下 +wordspace |-接口 |-服务者 |-消费…