![](https://img-blog.csdnimg.cn/20190829094140868.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Zookeeper
Zookeeper专题
扛麻袋的少年
得过且过,一天又一天
展开
-
ZooKeeper的介绍
ZooKeeper学习笔记(一):1.什么是ZooKeeper ZooKeeper 是一个开源的分布式协调服务(基于k-v形式存储),用Java语言来开发的。由雅虎公司创建,是google chubby 的开源实现。ZooKeeper的设计目标是将那些复杂且容易出错的分布式一致性服务封装起来,构成一个高效可靠的原语集(由若干条指令组成的,完成一定功能的一个过程),并且以一系列简单易用的接口提供给用户使用。 ...原创 2019-07-23 16:46:33 · 2594 阅读 · 0 评论 -
ZooKeeper集群的安装
ZooKeeper学习笔记(二):前提:①Linux服务器(3台) ②已安装JDK ③安装路径:/usr/local/bin目录下目前3.5.5版本启动会报:找不到或无法加载主类 org.apache.zookeeper.server.quorum.QuorumPeerMain, 因为3.5.5解压缩之后,zookeepr文件夹里面这个jar包没了(网友都有这问题,好像是解压缩之类的问题),此教程故由3.5.5...原创 2019-07-23 22:44:48 · 1859 阅读 · 0 评论 -
ZooKeeper客户端的使用
ZooKeeper学习笔记(三):前提:接上文:2.ZooKeeper集群的安装。ZooKeeper安装目录:/usr/local/lib/zookeeper-3.4.141.ZooKeeper客户端 首先我们应该知道,ZooKeeper客户端有如下4种: ①自带的zkCli命令行客户端 ②Java API客户端 ③Curator客户端 ...原创 2019-07-24 14:33:16 · 1164 阅读 · 0 评论 -
命令行操作ZooKeeper
ZooKeeper学习笔记(四):操作之前,先普及一下知识点:在ZooKeeper中,节点也称为znode1.ZooKeeper节点类型 分为两种:临时(ephemeral) (断开连接自动删除) 持久(persistent) (断开连接不删除,永久性)2.Znode有四种形式的目录节点(默认是persistent ) ①PERSISTENT (持久)...原创 2019-07-24 16:57:52 · 1292 阅读 · 0 评论 -
ZooKeeper中的zNode节点解析
ZooKeeper学习笔记(五):当我们通过get命令,获取zookeeper中的节点信息时。我们会发现它附带一系列信息,如下图: 分别来介绍一下这些参数: ①cZxid = 0x300000006 创建节点时的事务id ②ctime = Thu Jul 25 01:55:09 CST 2019 创建节点的时间 ③mZxid = 0x300000004 更新节点时的事务...原创 2019-07-25 15:58:23 · 2384 阅读 · 0 评论 -
ZooKeeper集群角色介绍
ZooKeeper学习笔记(六):ZooKeeper集群中包括如下三种角色:①leader ②follower ③observer角色分析: leader:是zookeeper里的核心,它是起到了整个主导集群的作用。比如事务请求的调度、处理,保证事务处理中的顺序性; follower:①处理客户端的非事务请求 ②转发事务请求给leader服务器 ...原创 2019-07-25 16:14:39 · 1860 阅读 · 0 评论 -
ZooKeeper数据一致性协议---2PC协议
ZooKeeper学习笔记(七):分布式架构中,多个模块之间为了完成相互之间的数据通信,我们会引入ZooKeeper中间件(具体为什么引入ZooKeeper,查看博文:ZooKeeper的起源) 如果ZooKeeper挂掉的话,那么整个服务就都会收到影响。为了防止单点故障导致的整个服务瘫痪,所以我们引入集群方式来解决ZooKeeper的单点故障问题(高可用的同时,还能分担请求,满足高性能) ...原创 2019-07-25 17:10:46 · 1322 阅读 · 0 评论 -
ZooKeeper数据一致性协议---ZAB协议
ZooKeeper学习笔记(八):1.什么是ZAB协议 ZAB(Zookeeper Atomic Broadcast)协议是为分布式协调服务 ZooKeeper 专门设计的一种支持崩溃恢复的原子广播协议。在 ZooKeeper 中,主要依赖 ZAB 协议来实现分布式数据一致性,是Zookeeper保证数据一致性的核心算法。 ZAB协议借鉴了Paxos算法,但又不像Paxos那样,是一种通用的分布式一...原创 2019-07-26 14:23:07 · 1555 阅读 · 0 评论 -
ZooKeeper事务日志查看(Linux)
ZooKeeper学习笔记(九):我们在配置zookeeper集群的时候,会在zoo.cfg文件中配置意向dataDir目录,用于存放临时数据信息在/tmp/zookeeper/version-2目录下,会存在事务日志(以log.开头的文件)我们通过cat/tail 命令查看,会发现显示乱码(因为文件里存放的是二进制)我们需要通过org.apache.zookeeper.server.LogFormatte...原创 2019-07-26 17:24:25 · 2898 阅读 · 0 评论 -
ZooKeeper中的Leader选举过程
ZooKeeper学习笔记(十):在讲解Leader选举之前,我们先来了解一下Zookeeper节点的4种状态: LOOKING:观望状态,开始进行Leader选举 LEADING:领导者状态,处于该状态的节点说明是角色已经是Leader FOLLOWING:跟随者状态,表示Leader已经选举出来,当前节点角色是follower OBSERVING:观察者状...原创 2019-07-29 10:32:26 · 1316 阅读 · 0 评论 -
ZooKeeper集群批量启动
ZooKeeper学习笔记(十一):当前,共有三台服务器用来搭建zookeeper集群,分别为:192.168.204.201,192.168.204.202,192.168.204.203zookeeper安装在/usr/local/lib/zookeeper-3.4.14目录下 在Linux中,我们可以通过ssh命令,来完成对响应服务器的命令操作 ssh 192.168.204....原创 2019-07-29 11:11:43 · 1855 阅读 · 1 评论 -
Java API操作ZooKeeper
ZooKeeper学习笔记(十二):附Demo:建议使用更好的Curator。参考:ZooKeeper客户端Curator的基本使用package zookeeper;import org.apache.zookeeper.*;import org.apache.zookeeper.data.Stat;import java.io.IOException;import java.io.UnsupportedEnc...原创 2019-07-29 15:00:26 · 1198 阅读 · 0 评论 -
ZooKeeper---Watch监听机制
ZooKeeper学习笔记(十三):通过ZooKeeper命令行工具,我们可以看到:ZooKeeper的很多命令都带有一个[watch]参数,接下来实践一下ZooKeeper的事件监听----Watch机制 Watcher 监听机制是 Zookeeper 中非常重要的特性,我们基于 zookeeper 上创建的节点,可以对这些节点绑定监听事件。比如可以监听节点数据变更、节点删除、子节点状态变更等事件...原创 2019-07-29 16:11:00 · 3143 阅读 · 0 评论 -
ZooKeeper客户端Curator的基本使用
ZooKeeper学习笔记(十四):前提:ZooKeeper版本:3.4.14 Curator版本:2.13.01.什么是Curator Curator是Netflix公司开源的一套zookeeper客户端框架,解决了很多Zookeeper客户端非常底层的细节开发工作,是一个比较完善的ZooKeeper客户端框架,通过封装的一套高级API 简化了ZooKeeper的操作。 在Cura...原创 2019-07-30 09:15:45 · 2108 阅读 · 0 评论 -
基于ZooKeeper的分布式锁
ZooKeeper学习笔记(十五):1.为什么要使用分布式锁? 在我们以前的单进程多线程里面,会用到多线程来提高工作效率。在我们目前计算机多核心的背景下,每个CPU核心能够同时运行一个线程,在同一时刻就会出现多线程并行问题。如果多线程并行去访问某一个共享资源的话,这个时候就有可能会造成共享资源的线程安全问题。在多线程中,我们可以使用Synchronized或者Lock来解决单进程多线程里面的线程安全问题。 ...原创 2019-07-30 15:12:56 · 1401 阅读 · 0 评论 -
Curator分布式锁的实现
ZooKeeper学习笔记(十六):在学习Curator分布式锁的实现之前,建议移步:基于ZooKeeper的分布式锁实现,了解一下ZooKeeper API分布式锁的实现原理。基于ZooKeeper分布式锁的实现,有两种方式: 1.利用ZooKeeper同节点路径唯一性(不建议使用) 2.利用ZooKeeper有序节点特性(临时有序节点)(推荐使用)Curator分布式锁的...原创 2019-07-31 13:59:35 · 1489 阅读 · 0 评论 -
17.ZooKeeper的脑裂问题 (待总结)
待总结原创 2019-07-31 16:18:58 · 1151 阅读 · 0 评论