ZooKeeper
mark_yueye
热衷于技术提升,热爱编程。
展开
-
ZooKeeper典型应用场景
ZooKeeper是一个高可用的分布式数据管理与系统协调框架。基于对Paxos算法的实现,使该框架保证了分布式环境中数据的强一致性,也正是基于这样的特性,使得ZooKeeper解决很多分布式问题。网上对ZK的应用场景也有不少介绍,本文将结合作者身边的项目例子,系统地对ZK的应用场景进行一个分门归类的介绍。值得注意的是,ZK并非天生就是为这些应用场景设计的,都是后来众多开发者根据其框架的特性,利转载 2013-12-03 23:34:39 · 682 阅读 · 0 评论 -
ZooKeeper 权限管理
这其中一个显而易见的问题就是权限:如果我的数据被别人动了怎么办?方案一:采用ZooKeeper支持的ACL digest方式,用户自己定义节点的权限 这种方案将zookeeper的acl和digest授权认证模式相结合。具体操作流程如下: 可以把这个访问授权过程看作是用户注册,系统给你一个密码,每次操作使用这个用户名(appName)和转载 2013-12-03 23:47:53 · 2461 阅读 · 0 评论 -
Zookeeper监控
在公司内部,有不少应用已经强依赖zookeeper,zookeeper的工作状态直接影响它们的正常工作。目前开源世界中暂没有一个比较成熟的zookeeper-monitor,于是开始zookeeper监控这块工作。目前zookeeper-monitor能做哪些事情,讲到这个,首先来看看哪些因素对zookeeper正常工作比较大的影响:用于zookeeper写日志的目录要有足够大小,转载 2013-12-03 23:42:55 · 857 阅读 · 0 评论 -
Paxos 算法
1 概述Paxos算法是莱斯利·兰伯特(Leslie Lamport,就是 LaTeX 中的"La",此人现在在微软研究院)于1990年提出的一种基于消息传递的一致性算法。[1] 这个算法被认为是类似算法中最有效的。2写在之前Paxos 算法解决的问题是一个分布式系统如何就某个值(决议)达成一致。一个典型的场景是,在一个分布式数据库系统中,如果各节点的初始状态一致,每个节点都执行相转载 2013-12-04 00:42:42 · 814 阅读 · 0 评论 -
ZooKeeper 会话超时
1、会话概述在ZooKeeper中,客户端和服务端建立连接后,会话随之建立,生成一个全局唯一的会话ID(Session ID)。服务器和客户端之间维持的是一个长连接,在SESSION_TIMEOUT时间内,服务器会确定客户端是否正常连接(客户端会定时向服务器发送heart_beat,服务器重置下次SESSION_TIMEOUT时间)。因此,在正常情况下,Session一直有效,并且ZK集群所有转载 2013-12-03 23:46:19 · 3055 阅读 · 0 评论 -
部署与管理ZooKeepe
1.部署本章节主要讲述如何部署ZooKeeper,包括以下三部分的内容:1. 系统环境2. 集群模式的配置3. 单机模式的配置系统环境和集群模式配置这两节内容大体讲述了如何部署一个能够用于生产环境的ZK集群。如果仅仅是想在单机上将ZK运行起来,进行一些开发与测试,那么第三部分或许是你的菜。1.1系统环境1.1.1平台支持平 台运行clie转载 2013-12-03 23:40:33 · 1525 阅读 · 0 评论 -
zookeeper 应用开发
由于zookeeper的client只有zookeeper一个对象,使用也比较简单,所以就不许要文字说明了,在代码中注释下就ok 了。1、测试用的main方法package ClientExample;public class TestMain { public static void main(String[] args) { /* * 测试转载 2013-12-04 00:09:29 · 732 阅读 · 0 评论 -
ZooKeeper 数据模型
本文主要讲述ZooKeeper的数据模型,包括ZooKeeper的数据视图,节点的层次结构以及节点类型等基本属性。Zookeeper的视图结构类似标准的Unix文件系统,但是没有引入文件系统相关概念:目录和文件,而是使用了自己特有的节点(node)概念,称为znode。Znode是ZooKeeper中数据的最小单元,每个znode上都可以保存数据,同时还可以挂载子节点,也构成了一个层次化的命名空间转载 2013-12-04 00:07:01 · 769 阅读 · 0 评论 -
zookeeper 事务日志
前面提到,在zookeeper server的配置文件zoo.cfg中可以通过dataLogDir来配置zookeeper的事务日志的输出目录,这个事务日志类似于下面这样的文件:这个文件是一个二进制文件, 一般不能够直接识别, 那么是否有方法可以把这些事务日志转换成正常日志文件呢, 答案是肯定的~ Zookeeper自带一个工具类:org.apache.zookeepe转载 2013-12-03 23:51:40 · 1104 阅读 · 0 评论 -
ZooKeeper的快速搭建
本文是ZooKeeper的快速搭建,旨在帮助大家以最快的速度完成一个ZK集群的搭建,以便开展其它工作。本方不包含多余说明及任何调优方面的高级配置。如果要进行更深一层次的配置,请移步《ZooKeeper管理员指南——部署与运维》。 单机模式(7步)Step1:配置JAVA环境。检验方法:执行java –version和javac –version命令。Step2:下载并解压zookee转载 2013-12-03 23:39:00 · 801 阅读 · 0 评论 -
ZooKeeper leader election
Paxos是分布式应用中解决同步问题的核心。作为应用研发工程师,我们总是倾向于使用一种相对简洁的方式实现复杂的算法。ZooKeeper leader election实现就是一个非常好的参考。其实现比标准Paxos算法简单,基本过程是:1转载 2013-12-04 00:39:14 · 1127 阅读 · 0 评论 -
ZooKeeper客户端事件串行化处理
为了提升系统的性能,进一步提高系统的吞吐能力,最近公司很多系统都在进行异步化改造。在异步化改造的过程中,肯定会比以前碰到更多的多线程问题,上周就碰到ZooKeeper客户端异步化过程中的一个死锁问题,这里说明下。通常ZooKeeper对于同一个API,提供了同步和异步两种调用方式。同步接口很容易理解,使用方法如下:12ZooKeeper zk转载 2013-12-03 23:49:20 · 779 阅读 · 0 评论 -
ZooKeeper API
ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务框架,包含一组简单的原语集合。通过这些原语言的组合使用,能够帮助我们解决更高层次的分布式问题,关于ZooKeeper的典型使用场景,请查看这个文章《ZooKeeper典型使用场景一览》本文主要针对ZooKeeper提供的Java API,通过实际代码讲述如何使用API。package com.taobao.taokeeper转载 2013-12-03 23:44:44 · 833 阅读 · 0 评论 -
zookeeper 原理
zookeeper介绍zookeeper是一个为分布式应用提供一致性服务的软件,它是开源的Hadoop项目中的一个子项目,并且根据google发表的论文来实现的,接下来我们首先来安装使用下这个软件,然后再来探索下其中比较重要一致性算法。 zookeeper安装和使用zookeeper的安装基本上可以按照 http://hadoop.apache.org/zookeeper/doc转载 2013-12-04 00:05:45 · 658 阅读 · 0 评论