
分布式服务-zooKeeper
五柳-先生
宅边有五柳树,因以为号焉。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
ZooKeeper管理员指南——部署与管理ZooKeeper
本文以ZooKeeper3.4.3版本的官方指南为基础:http://zookeeper.apache.org/doc/r3.4.3/zookeeperAdmin.html,补充一些作者运维实践中的要点,围绕ZK的部署和运维两个方面讲一些管理员需要知道的东西。本文并非一个ZK搭建的快速入门,关于这方面,可以查看《ZooKeeper快速搭建》。1.部署本章节主要讲述如何部署ZooKeeper转载 2015-07-20 21:06:16 · 818 阅读 · 0 评论 -
可视化zookeeper的事务日志
前面提到,在zookeeper server的配置文件zoo.cfg中可以通过dataLogDir来配置zookeeper的事务日志的输出目录,这个事务日志类似于下面这样的文件:这个文件是一个二进制文件, 一般不能够直接识别, 那么是否有方法可以把这些事务日志转换成正常日志文件呢, 答案是肯定的~ Zookeeper自带一个工具类:org.apache.zookeepe转载 2015-11-25 19:21:05 · 757 阅读 · 0 评论 -
【ZooKeeper Notes 8】 zookeeper 权限控制
目前在公司内部使用ZooKeeper的地方越来越多,应用大多喜欢自己部署一套ZK集群来使用。考虑到ZK的高可用,并且一套ZK集群至少3台机器, 那么每个应用,尤其是一些非核心应用都自己去部署一套的话,对资源利用率很低。另外,随着ZK容灾的提出,单套ZK集群使用的机器量会更大,运维人员开始 对这个情况担忧,强烈希望能够合并ZK集群。ZK集群合并使用本身并没有太大的难度,问题在于应用方是否愿意大家共用转载 2015-11-25 19:23:02 · 421 阅读 · 0 评论 -
ZooKeeper运维之使用SnapshotFormatter可视化快照数据
在ZooKeeper的运维过程中,我们经常会碰到这样的问题,就是快照数据文件越来越大,但是ZooKeeper上的数据节点数量并没有相应的增加。这说明什么问题:一定是有客户端在将ZooKeeper当数据库使用了。长此以往,必然会引起ZooKeeper内存数据过大而影响性能及集群间的数据同步。那么有没有办法能够排查此类问题呢?解决方法是有的,我们首先需要使用SnapshotFormat转载 2015-11-25 19:26:14 · 2456 阅读 · 0 评论 -
ZooKeeper管理员指南——部署与管理
转载请注明:@ni掌柜 nileader@gmail.com本文以ZooKeeper3.4.3版本的官方指南为基础:http://zookeeper.apache.org/doc/r3.4.3/zookeeperAdmin.html,补充一些作者运维实践中的要点,围绕ZK的部署和运维两个方面讲一些管理员需要知道的东西。本文并非一个ZK搭建的快速入门,关于这方面,可以查看《ZooKeeper转载 2015-11-25 19:30:51 · 533 阅读 · 0 评论 -
Zookeeper的一次迁移故障
前阶段同事迁移Zookeeper(是给Kafka使用的以及flume使用)后发现所有Flume-producer/consumer端集体报错:123407 Jan 2014 01:19:32,571 INFO [conf-file-poller-0-SendThread(xxx:2181)] (o转载 2015-11-25 19:39:51 · 13444 阅读 · 0 评论 -
zookeeper的一致性协议:Zab
Zookeeper使用了一种称为ZabZookeeper Atomic Broadcast的协议作为其一致性复制的核心据其作者说这是一种新发算法其特点是充分考虑了Yahoo的具体情况高吞吐量、低延迟、健壮、简单但不过分要求其扩展性。下面将展示一些该协议的核心内容另本文仅讨论Zookeeper使用的一致性协议而非讨论其源码实现Zookeeper的实现是有Client、Server构成转载 2015-11-25 19:41:47 · 527 阅读 · 0 评论 -
使用ZooKeeper ACL特性进行znode控制
Zookeeper作为配置管理服务,因为配置数据有很高的安全要求,需要有权限控制,客户端需要进行登录认证才操作(查看数据,修改数据,创建children znode等等)Zookeeper上面对应znode。 1. 简单的客户端认证zkCli.sh 命令如下:12[zk: localhost:2181(C转载 2015-11-25 19:45:37 · 1604 阅读 · 0 评论 -
ZooKeeper 简介
系统越来越大后切分出的模块越来越多,一些模块还部署了双机。配置文件混乱,更新部署极易出错,准备上 zookeeper。下载当前稳定版的 zookeeper,解压并拷贝 conf/zoo_sample.cfg 为 zoo.cfg,配置所需要的项目。最少配是只指定其中的 dataDir 项,其他项则使用默认值。tickTime=2000 # 心跳基本时间单转载 2015-11-25 19:52:11 · 940 阅读 · 0 评论 -
zookeeper运维
尽管zookeeper在编程上有很多的阱陷,API也非常的难用,但zookeeper服务本身可以说是很牢靠的了,所以在网上貌似关于运维的文章比较少。但省心并不代表不会出麻烦,下面总结下zookeeper运维相关的东东。重要的参考资料这里有一个很好的Pdf,介绍了很多zookeeper的东东,作者是zookeeper的committer之一:http://www.info转载 2016-05-11 20:12:09 · 1219 阅读 · 0 评论 -
zookeeper运维管理
目录: 1、运维管理 2、淘宝的关于zookeeper的多篇文章: link:http://nileader.blog.51cto.com/1381108/1068033 zookeeper 运维管理(转) link:http://blog.163.com/bdweizhong@yeah/blo转载 2016-05-11 20:48:44 · 657 阅读 · 0 评论 -
【ZooKeeper Notes】系列文章
团队博客:http://rdc.taobao.com/team/jm/archives/tag/zookeeper《ZooKeeper快速搭建》http://nileader.blog.51cto.com/1381108/795230《ZooKeeper Java API 使用样例》http://nileader.blog.51cto.com/1381108/795265转载 2016-05-11 20:56:05 · 391 阅读 · 0 评论 -
分布式系统的Raft算法
过去, Paxos一直是分布式协议的标准,但是Paxos难于理解,更难以实现,Google的分布式锁系统Chubby作为Paxos实现曾经遭遇到很多坑。 来自Stanford的新的分布式协议研究称为Raft,它是一个为真实世界应用建立的协议,主要注重协议的落地性和可理解性。 在了解Raft之前,我们先了解Consensus一致性这个概念,它是指多个服务器在状态达成一致,但是在一转载 2016-06-21 11:37:51 · 658 阅读 · 0 评论 -
Zookeeper工作原理
ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,它包含一个简单的原语集,分布式应用程序可以基于它实现同步服务,配置维护和命名服务等。Zookeeper是hadoop的一个子项目,其发展历程无需赘述。在分布式应用中,由于工程师不能很好地使用锁机制,以及基于消息的协调机制不适合在某些应用中使用,因此需要有一种可靠的、可扩展的、分布式的、可配置的协调机制来统一系统的状态。Zookee转载 2015-11-25 19:15:50 · 386 阅读 · 0 评论 -
hadoop+hbase+zookeeper集群安装方法
最近公司搭建hadoop+hbase+zookeeper集群,期间遇到了许多问题,这里和大家分享一下安装的一些经验,目的在于大家在部署hadoop集群环境中少走一些弯路: 由于刚开始的时候我用虚拟机安装,安装版本是hadoop0.20.2+hbase0.90.3+zookeeper3.3.3版本,在测试hbase集群的时候hmaster不能正常启动或者是启动后进程自杀(在网上找到的答案应该是虚拟转载 2015-11-25 19:13:29 · 590 阅读 · 0 评论 -
【ZooKeeper Notes 9】ZooKeepr日志清理
在使用zookeeper过程中,我们知道,会有dataDir和dataLogDir两个目录,分别用于snapshot和事务日志的输出(默认情况下只有dataDir目录,snapshot和事务日志都保存在这个目录中,关于这两个目录的详细说明,请看《ZooKeeper管理员指南》)。 正常运行过程中,ZK会不断地把快照数据和事务日志输出到这两个目录,并且如果没有人为操作的话,Z转载 2015-11-25 15:30:21 · 583 阅读 · 0 评论 -
ZooKeeper安装笔记
ZookKeeper 是Apache的顶级项目之一,我们可用它来做配置管理、集群管理 和消息队列等。安装相对简单,同样有单机和分布式俩种安装模式,单机少一些配置,本文给出安装方法和一些常用管理命令等。环境要求linux 或者 windows(生产环境最好不用)jdk1.6 以上 设置Java heap 大小。避免内存与磁盘空间的交换,能够大大提升ZK的性转载 2015-07-21 09:15:06 · 662 阅读 · 0 评论 -
Zookeeper和Curator-Framework实践之:分布式消息队列
之前写过:Curator-Framework开源Zookeeper快速开发框架介绍Zookeeper和Curator-Framework实践系列之: 配置管理本文说的是ZK另一个重要使用场景,消息队列!场景一个典型的生产消费者模型,如下图:WEB点提交要处理的数据,注意是多结点的也就是多个生产者,数量可能比较大。在后台有个处理者也就是消费者,注意前后是分开的,生产者应用转载 2015-07-21 09:24:58 · 2770 阅读 · 0 评论 -
ZooKeeper权限控制
目前在公司内部使用ZooKeeper的地方越来越多,应用大多喜欢自己部署一套ZK集群来使用。考虑到ZK的高可用,并且一套ZK集群至少3台机器, 那么每个应用,尤其是一些非核心应用都自己去部署一套的话,对资源利用率很低。另外,随着ZK容灾的提出,单套ZK集群使用的机器量会更大,运维人员开始 对这个情况担忧,强烈希望能够合并ZK集群。ZK集群合并使用本身并没有太大的难度,问题在于应用方是否愿意大家转载 2015-07-20 20:54:32 · 3318 阅读 · 0 评论 -
Zookeeper和Curator-Framework实践系列之: 配置管理
看过Zookeeper相关文档后都知道它可以实现分布式集群的配置管理,本文以一个简单的实例来演示它是如何实现的并工作的。情景需要,简单理解为下图:一个web集群,需要通过zk来控制集群的日志输出级别,比如管理员需要在生产环境下查看一下DEBUG日志,他可以临时将集群的日志输出级别改为DEBUG,获取他想要的信息后还要将级别调回到INFO或者ERROR级别。今天的主角是Curator转载 2015-07-21 09:07:16 · 4576 阅读 · 1 评论 -
zookeeper原理
ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,它包含一个简单的原语集,分布式应用程序可以基于它实现同步服务,配置维护和命名服务等。Zookeeper是hadoop的一个子项目,其发展历程无需赘述。在分布式应用中,由于工程师不能很好地使用锁机制,以及基于消息的协调机制不适合在某些应用中使用,因此需要有一种可靠的、可扩展的、分布式的、可配置的协调机制来统一系统的状态。Zookee转载 2015-07-20 20:40:08 · 550 阅读 · 0 评论 -
ZooKeeper解惑
最近针对ZK一些比较疑惑的问题,再看了一下相关代码,列举如下。这里只列官方文档中没有的,或者不清晰的。以zookeeper-3.3.3为基准。以下用ZK表示ZooKeeper。一个ZooKeeper对象,代表一个ZK Client。应用通过ZooKeeper对象中的读写API与ZK集群进行交互。一个简单的创建一条数据的例子,只需如下两行代码:ZooKeeper zk = new ZooKe转载 2015-07-20 20:52:12 · 845 阅读 · 0 评论 -
ZooKeeper典型应用场景一览
ZooKeeper是一个高可用的分布式数据管理与系统协调框架。基于对Paxos算法的实现,使该框架保证了分布式环境中数据的强一致性,也正是基于这样的特性,使得ZooKeeper解决很多分布式问题。网上对ZK的应用场景也有不少介绍,本文将结合作者身边的项目例子,系统地对ZK的应用场景进行一个分门归类的介绍。值得注意的是,ZK并非天生就是为这些应用场景设计的,都是后来众多开发者根据其框架的特性,利转载 2015-07-20 21:02:45 · 456 阅读 · 0 评论 -
ZooKeeper FAQ
这段时间来,也在和公司里的一些同学交流使用zk的心得,整理了一些常见的zookeeper问题。这个页面的目标是解答一些zk常见的使用问题,同时也让大家明确zk不能干什么。页面会一直更新。1. 客户端对ServerList的轮询机制是什么随机,客户端在初始化( new ZooKeeper(String connectString, int sessionTimeout, Watcher wa转载 2015-07-20 21:08:16 · 463 阅读 · 0 评论 -
Curator-Framework开源Zookeeper快速开发框架介绍
Zookeeper 客户端框架 Curator-Framework 来自Netflix公司,现在归Apache,目前版本2.0.1!在使用ZK开发时会遇到让人头疼的几个问题,ZK连接管理、SESSION失效等一些异常问题的处理,Curator替我们解决了这些问题,通过对ZK连接状态的监控来做出相应的重连等操作,并触发事件!更好的地方是Curator对ZK的一些应用场景提供了非常好的实现转载 2015-07-21 09:18:12 · 705 阅读 · 0 评论 -
ZooKeeper安装笔记
ZookKeeper 是Apache的顶级项目之一,我们可用它来做配置管理、集群管理 和消息队列等。安装相对简单,同样有单机和分布式俩种安装模式,单机少一些配置,本文给出安装方法和一些常用管理命令等。环境要求linux 或者 windows(生产环境最好不用)jdk1.6 以上 设置Java heap 大小。避免内存与磁盘空间的交换,能够大大提升ZK的性转载 2015-07-21 20:09:10 · 617 阅读 · 0 评论 -
分布式 ZooKeeper 缓存用法实例教程
ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件。可以利用ZooKeeper在集群的各个节点之间缓存数据。 每个节点都可以得到最新的缓存的数据。 Curator提供了三种类型的缓存方式:Path Cache,Node Cache 和Tree Cache。Path CachePath Ca转载 2015-07-22 23:16:06 · 3392 阅读 · 0 评论 -
[原创] Zookeeper注册节点的掉线自动重新注册及测试方法
转载请注明出处:http://www.codelast.com/在一套分布式的online services系统中,各service通常不会放在一台服务器上,而是通过Zookeeper这样的东西,将自己的service信息注册到上面,service的使用者通过Zookeeper来发现各service的信息,从而可以将request发送到不同的service上去处理。如上图所示,两个转载 2015-07-22 23:28:40 · 1805 阅读 · 0 评论 -
分布式系统Paxos算法
这是一个有关Paxos算法非常形象的讲解与示范。Paxos是能够基于一大堆完全不可靠的网络条件下却能可靠确定地实现共识一致性的算法。也就是说:它允许一组不一定可靠的处理器(服务器)在某些条件得到满足情况下就能达成确定的安全的共识,如果条件不能满足也确保这组处理器(服务器)保持一致。什么是共识? 具体来说是这样:分布式系统中由于网络之间通讯可能会中断,虽然概率很低,但是没有100%转载 2016-06-21 11:40:28 · 2929 阅读 · 0 评论