![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Zookeeper
文章平均质量分 62
Zookeeper
SuperQiu~
这个作者很懒,什么都没留下…
展开
-
Zookeeper算法基础
Zookeeper算法基础Zookeeper 是如何保证数据一致性的?这也是困扰分布式系统框架的一个难题。拜占庭将军问题拜占庭将军问题是一个协议问题,拜占庭帝国军队的将军们必须全体一致的决定是否攻击某一支敌军。问题是这些将军在地理上是分隔开来的,并且将军中存在叛徒。叛徒可以任意行动以达到以下目标:欺骗某些将军采取进攻行动;促成一个不是所有将军都同意的决定,如当将军们不希望进攻时促成进攻行动;或者迷惑某些将军,使他们无法做出决定。如果叛徒达到了这些目的之一,则任何攻击行动的结果都是注定要失败的,只有完全原创 2021-12-07 13:59:41 · 621 阅读 · 0 评论 -
Zookeeper企业面试真题
Zookeeper 选举机制半数机制,超过半数的投票通过,即通过。(1)第一次启动选举规则:投票过半数时,服务器 id 大的胜出(2)第二次启动选举规则:①EPOCH 大的直接胜出②EPOCH 相同,事务 id 大的胜出③事务 id 相同,服务器 id 大的胜出生产集群安装多少 zk 合适?安装奇数台。生产经验:10 台服务器:3 台 zk;20 台服务器:5 台 zk;100 台服务器:11 台 zk;200 台服务器:11 台 zk服务器台数多:好处,提高可靠性;坏处:原创 2021-12-07 13:39:40 · 101 阅读 · 0 评论 -
Zookeeper监听器原理
Zookeeper监听器原理客户端注册监听它关心的目录节点,当目录节点发生变化(数据改变、节点删除、子目录节点增加删除)时,ZooKeeper 会通知客户端。监听机制保证 ZooKeeper 保存的任何的数据的任何改变都能快速的响应到监听了该节点的应用程序。1)节点的值变化监听(1)在 hadoop104 主机上注册监听/sanguo 节点数据变化get -w /sanguo(2)在 hadoop103 主机上修改/sanguo 节点的数据set /sanguo “xisi”(3)观察 ha原创 2021-12-07 13:39:18 · 240 阅读 · 0 评论 -
ZooKeeper 分布式锁案例
ZooKeeper 分布式锁案例什么叫做分布式锁呢?比如说"进程 1"在使用该资源的时候,会先去获得锁,"进程 1"获得锁以后会对该资源保持独占,这样其他进程就无法访问该资源,"进程 1"用完该资源以后就将锁释放掉,让其他进程来获得锁,那么通过这个锁机制,我们就能保证了分布式系统中多个进程能够有序的访问该临界资源。那么我们把这个分布式环境下的这个锁叫作分布式锁。原生 Zookeeper 实现分布式锁案例1)分布式锁实现2)分布式锁测试(1)创建两个线程(2)观察控制台变化Curator 框原创 2021-12-07 13:38:28 · 103 阅读 · 0 评论 -
Zookeeper 服务器动态上下线监听案例
Zookeeper 服务器动态上下线监听案例需求某分布式系统中,主节点可以有多台,可以动态上下线,任意一台客户端都能实时感知到主节点服务器的上下线。需求分析具体实现(1)先在集群上创建/servers 节点create /servers “servers”(2)在 Idea 中创建包名:com.xiaoqiu.zkcase1(3)服务器端向 Zookeeper 注册代码(3)客户端代码测试1)在 Linux 命令行上操作增加减少服务器(1)启动 DistributeClient 客原创 2021-12-07 12:34:37 · 1226 阅读 · 0 评论 -
Zookeeper 客户端向服务端写数据流程
Zookeeper 客户端向服务端写数据流程写流程之写入请求直接发送给Leader节点写流程之写入请求发送给follower节点原创 2021-12-07 10:43:56 · 142 阅读 · 0 评论 -
Zookeeper客户端 API 操作
Zookeeper客户端 API 操作前提:保证 hadoop102、hadoop103、hadoop104 服务器上 Zookeeper 集群服务端启动。IDEA 环境搭建1)创建一个工程:zookeeper2)添加pom文件<dependencies><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>RE原创 2021-12-07 10:43:26 · 140 阅读 · 0 评论 -
Zookeeper客户端命令行操作
Zookeeper客户端命令行操作命令行语法命令基本语法功能描述help显示所有操作命令ls path使用 ls 命令来查看当前 znode 的子节点 [可监听]-w 监听子节点变化-s 附加次级信息create普通创建-s 含有序列-e 临时(重启或者超时消失)get path获得节点的值 [可监听]-w 监听节点内容变化-s 附加次级信息set设置节点的具体值stat查看节点状态delete删除节点deleteall递归删原创 2021-12-07 10:43:12 · 312 阅读 · 0 评论 -
Zookeeper选举机制
Zookeeper选举机制Zookeeper选举机制——第一次启动SID:服务器ID。用来唯一标识一台ZooKeeper集群中的机器,每台机器不能重复,和myid一致。ZXID:事务ID。ZXID是一个事务ID,用来标识一次服务器状态的变更。在某一时刻,集群中的每台机器的ZXID值不一定完全一致,这和ZooKeeper服务器对于客户端“更新请求”的处理逻辑有关。Epoch:每个Leader任期的代号。没有Leader时同一轮投票过程中的逻辑时钟值是相同的。每投完一次票这个数据就会增加。(1)服务原创 2021-12-07 10:42:32 · 213 阅读 · 0 评论 -
Zookeeper 集群操作
Zookeeper 集群操作集群操作集群安装1)集群规划在 hadoop102、hadoop103 和 hadoop104 三个节点上都部署 Zookeeper。思考:如果是 10 台服务器,需要部署多少台 Zookeeper?2)解压安装(1)在 hadoop102 解压 Zookeeper 安装包到/opt/module/目录下tar -zxvf apache-zookeeper-3.5.7-bin.tar.gz -C /opt/module/(2)修改 apache-zookeepe原创 2021-12-07 10:42:02 · 71 阅读 · 0 评论 -
Zookeeper 本地安装
Zookeeper 本地安装安装1)安装前准备(1)安装 JDK(2)拷贝 apache-zookeeper-3.5.7-bin.tar.gz 安装包到 Linux 系统下(3)解压到指定目录tar -zxvf apache-zookeeper-3.5.7-bin.tar.gz -C /opt/module/(4)修改名称 mv apache-zookeeper-3.5.7 zookeeper-3.5.72)配置修改(1)将/opt/module/zookeeper-3.5.7/conf原创 2021-12-06 20:38:27 · 584 阅读 · 0 评论 -
Zookeeper 入门
Zookeeper 入门概述Zookeeper 是一个开源的分布式的,为分布式框架提供协调服务的 Apache 项目。Zookeeper工作机制Zookeeper特点1)Zookeeper:一个领导者(Leader),多个跟随者(Follower)组成的集群。2)集群中只要有半数以上节点存活,Zookeeper集群就能正常服务。所 以Zookeeper适合安装奇数台服务器。3)全局数据一致:每个Server保存一份相同的数据副本,Client无论连接到哪个Server,数据都是一致的。原创 2021-12-06 20:30:42 · 56 阅读 · 0 评论