Zookeeper
从Zookeeper入门、安装、实战演练、内部原理、企业面试真题讲解Zookeeper,是作为开发者必会的一项技能
mischen520
JAVA高级架构师
展开
-
Zookeeper 伪分布式集群搭建详细步骤
进入 zookeeper 集群中任意一个节点的 bin 目录下,启动一个客户端,接入已经启动好的。在同一台服务器上,部署一个 3 个 ZooKeeper 节点组成的集群,这样的集群叫伪分布式集。myid 文件的内容是节点在集群中的编号,zookeeper1 节点的编号就写成 1,后边的。群,而如果集群中的 3 个节点分别部署在 3 个服务器上,那么这种集群就叫真正的分布式。其次,在这个目录的下面解压三份。这里,记录一下搭建一个 3 节点的伪分布式集群的过程,真正的分布式集群的搭建过程和。原创 2023-06-12 19:17:17 · 1497 阅读 · 0 评论 -
Zookeeper监听器原理(面试重点)
原创 2021-07-25 15:24:51 · 220 阅读 · 0 评论 -
Zookeeper内部原理-节点类型分析
原创 2021-07-25 15:22:56 · 91 阅读 · 0 评论 -
zk删除非空节点,递归实现
//封装一个方法,方便递归调用 public void deleteAll(String path, ZooKeeper zk) throws KeeperException, InterruptedException { //判断节点是否存在 Stat stat = zkClient.exists(path, false); if (stat == null) { System.out.println("节点不存在..."); return;原创 2021-07-25 15:18:15 · 920 阅读 · 0 评论 -
Zookeeper配置文件zoo.cfg详解
1)tickTime =2000:通信心跳数,Zookeeper服务器与客户端心跳时间,单位毫秒 Zookeeper使用的基本时间,服务器之间或客户端与服务器之间维持心跳的时间间隔,也就是每个tickTime时间就会发送一个心跳,时间单位为毫秒。 它用于心跳机制,并且设置最小的session超时时间为两倍心跳时间。(session的最小超时时间是2*tickTime) 2)initLimit =10:LF初始通信时限 集群中的Follower跟随者服务器与Leader领导者服务器之间初始连接时能容忍的最多心原创 2021-07-25 13:06:32 · 609 阅读 · 0 评论 -
Zookeeper的应用场景
提供的服务包括:统一命名服务、统一配置管理、统一集群管理、服务器节点动态上下线、软负载均衡等。 统一命名服务: 统一配置管理: 统一集群管理: 服务器动态上下线: 软负载均衡: ...原创 2021-07-25 12:48:17 · 73 阅读 · 0 评论 -
什么是Paxos算法?
Paxos算法一种基于消息传递且具有高度容错特性的一致性算法。 分布式系统中的节点通信存在两种模型:共享内存(Shared memory)和消息传递(Messages passing)。基于消息传递通信模型的分布式系统,不可避免的会发生以下错误:进程可能会慢、被杀死或者重启,消息可能会延迟、丢失、重复,在基础Paxos场景中,先不考虑可能出现消息篡改即拜占庭错误的情况。Paxos算法解决的问题是在一个可能发生上述异常的分布式系统中如何就某个值达成一致,保证不论发生以上任何异常,都不会破坏决议的一致性。 .原创 2021-06-17 06:20:39 · 289 阅读 · 0 评论 -
Zookeeper写数据流程
原创 2021-05-25 07:03:55 · 130 阅读 · 0 评论 -
Zookeeper的选举机制(面试重点)
(1)半数机制:集群中半数以上机器存活,集群可用。所以Zookeeper适合安装奇数台服务器。 (2)Zookeeper虽然在配置文件中并没有指定Master和Slave。但是,Zookeeper工作时,是有一个节点为Leader,其他则为Follower,Leader是通过内部的选举机制临时产生的。 (3)以一个简单的例子来说明整个选举的过程。 假设有五台服务器组成的Zookeeper集群,它们的id从1-5,同时它们都是最新启动的,也就是没有历史数据,在存放数据量这一点上,都是一样的。假设这些服务原创 2021-05-25 06:56:45 · 127 阅读 · 0 评论 -
Zookeeper的工作机制
Zookeeper是一个开源的分布式的,为分布式应用提供协调服务的Apache项目。 Zookeeper从设计模式角度来理解,是一个基于观察者模式设计的分布式服务管理框架,它负责存储和管理大家都关心的数据,然后接受观察者的注册,一旦这些数据的状态发生了变化,Zookeeper就负责通知已经在Zookeeper上注册的那些观察者做出相应的反应。 ...原创 2021-05-25 06:49:22 · 318 阅读 · 0 评论 -
zookeeper分布式锁使用场景介绍
总结了一下之前项目上的经历,大致来说,zk的使用场景如下,我就举几个简单的: (1)分布式协调:这个其实是zk很经典的一个用法,简单来说,就好比,你A系统发送个请求到mq,然后B消息消费之后处理了。那A系统如何知道B系统的处理结果?用zk就可以实现分布式系统之间的协调工作。A系统发送请求之后可以在zk上对某个节点的值注册个监听器,一旦B系统处理完了就修改zk那个节点的值,A立马就可以收到通知,完美解决。 这里需要注意的一个问题是,如果系统B在完成订单的库存更新之后,会把这个消息反馈给zo..原创 2021-02-28 10:53:31 · 485 阅读 · 0 评论 -
ZooKeeper分布式锁的实现原理
package com.roncoo.eshop.cache.zk; import java.util.concurrent.CountDownLatch; import org.apache.zookeeper.CreateMode; import org.apache.zookeeper.WatchedEvent; import org.apache.zookeeper.Watcher;...原创 2020-01-11 16:50:49 · 124 阅读 · 0 评论 -
什么是zookeeper
顾名思义zookeeper就是动物园管理员,他是用来管hadoop(大象)、Hive(蜜蜂)、pig(小猪)的管理员, Apache Hbase和 Apache Solr 的分布式集群都用到了zookeeper;Zookeeper:是一个分布式的、开源的程序协调服务,是hadoop项目下的一个子项目。原创 2017-05-29 09:58:24 · 318 阅读 · 0 评论