
zookeeper
qq_43193797
github:https://github.com/yanjie666
展开
-
zookeeper基本讲解
一、ZooKeeper概述ZooKeeper是一种为分布式应用所设计的高可用、高性能且一致的开源协调服务,是Google的Chubby一个开源实现,是Hadoop和Hbase的重要组件,它提供了一项基本服务:分布式锁服务。由于ZooKeeper的开源特性,后来我们的开发者在分布式锁的基础上,摸索了出了其他的使用方法:配置维护、组服务、分布式消息队列、分布式通知/协调等。zookeeper是基于...转载 2018-11-30 20:26:18 · 328 阅读 · 0 评论 -
zookeeper集群写数据流程原理
ZooKeeper 的写数据流程主要分为以下几步:1)比如 Client 向 ZooKeeper 的 Server1 上写数据,发送一个写请求。2)如果Server1不是Leader,那么Server1 会把接受到的请求进一步转发给Leader,因为每个ZooKeeper的Server里面有一个是Leader。这个Leader 会将写请求广播给各个Server,比如Server1和Serv...原创 2019-01-09 18:08:18 · 897 阅读 · 0 评论 -
zookeeper监听器原理
1)监听原理详解:1)首先要有一个main()线程2)在main线程中创建Zookeeper客户端,这时就会创建两个线程,一个负责网络连接通信(connet),一个负责监听(listener)。3)通过connect线程将注册的监听事件发送给Zookeeper。4)在Zookeeper的注册监听器列表中将注册的监听事件添加到列表中。5)Zookeeper监听到有数据或路径变...原创 2019-01-09 08:59:36 · 586 阅读 · 0 评论 -
zookeeper节点类型
1)Znode有两种类型:短暂(ephemeral):客户端和服务器端断开连接后,创建的节点自己删除持久(persistent):客户端和服务器端断开连接后,创建的节点不删除2)Znode有四种形式的目录节点(默认是persistent )(1)持久化目录节点(PERSISTENT) 客户端与zookeeper断开连接后,该节点依旧存在(2)持久化顺序编号目...原创 2019-01-09 08:33:55 · 3139 阅读 · 0 评论 -
Zookeeper概述及其应用场景
1.1 概述分布式系统:分布式系统指由很多台计算机组成的一个整体!这个整体一致对外,并且处理同一请求!系统对内透明,对外不透明!内部的每台计算机,都可以相互通信,例如使用RPC/REST或者是WebService!客户端向一个分布式系统发送的一次请求到接受到响应,有可能会经历多台计算机!Zookeeper是一个开源的分布式的,为分布式应用提供协调服务的Apache项目,多用作为集群提供服务...原创 2019-01-08 08:59:43 · 294 阅读 · 0 评论 -
ZooKeeper 监听之持续监听java代码实现
import static org.junit.Assert.*;import java.io.IOException;import java.util.List;import org.apache.zookeeper.CreateMode;import org.apache.zookeeper.WatchedEvent;import org.apache.zookeeper.Wat...原创 2019-01-11 19:23:32 · 1795 阅读 · 0 评论 -
Zookeeper常用命令行命令(类unix命令)以及 Stat状态说明
1 常见命令(类unix命令) 命令基本语法 功能描述 help 显示所有操作命令 ls path [watch] 使用 ls 命令来查看当前znode中所包含的内容 stat 查看节点状态 ls2 path [watch...原创 2019-01-11 12:05:04 · 2747 阅读 · 0 评论 -
Zookeeper四字命令
ZooKeeper 支持某些特定的四字命令(The Four Letter Words)与其进行交互。它们大多是查询命令,用来获取 ZooKeeper 服务的当前状态及相关信息。用户在客户端可以通过 telnet 或 nc 向 ZooKeeper 提交相应的命令。 ZooKeeper 常用四字命令主要如下使用之前,需要先安装nc,可以使用yum方式进行安装! ruok ...原创 2019-01-11 12:01:01 · 425 阅读 · 0 评论 -
zookeeper配置参数解读
解读zoo.cfg 文件中参数含义1)tickTime:通信心跳数,Zookeeper服务器心跳时间,单位毫秒用于配置 ZooKeeper 中最小时间单位的长度,很多运行时的时间间隔都是使用 tickTime 的倍数来表示的。例如,ZooKeeper 中会话的最小超时时间默认是 2*tickTime。2)initLimit:用于集群中Leader(主节点)和Flower(从节点)初始化...原创 2019-01-11 11:58:02 · 1123 阅读 · 0 评论 -
分布式锁的几种实现方式
目前几乎很多大型网站及应用都是分布式部署的,分布式场景中的数据一致性问题一直是一个比较重要的话题。分布式的CAP理论告诉我们“任何一个分布式系统都无法同时满足一致性(Consistency)、可用性(Availability)和分区容错性(Partition tolerance),最多只能同时满足两项。”所以,很多系统在设计之初就要对这三者做出取舍。在互联网领域的绝大多数的场景中,都需要牺牲强一致...转载 2018-12-23 13:24:27 · 156 阅读 · 0 评论 -
zookeeper分布式锁实现原理
1、互斥锁mutex lock顾名思义就是排它锁,同一时间只允许一个客户端执行。实现步骤:首先,创建一个lock node,例如“locknode”其次,客户端lock执行以下方式: 创建(create)一个有序临时节点,例如“locknode/guid-lock-”,其中guid可以是你客户端的唯一识别序号,如果发生前面说的创建失败问题,需要使用guid进行手动检查。 调用...转载 2018-12-23 00:12:01 · 256 阅读 · 0 评论 -
Zookeeper 分布式锁原理-----代码实现
在Redis分布式锁一文中, 作者介绍了如何使用Redis开发分布式锁。Redis分布式锁具有轻量高吞吐量的特点,但是一致性保证较弱。我们可以使用Zookeeper开发分布式锁,来满足对高一致性的要求。Zookeeper 分布式锁原理Zookeeper 节点具有一些性质可以帮助我们开发分布式锁:临时节点: 客户端可以创建临时节点,当客户端会话终止或超时后Zookeeper会自动删除临...转载 2018-12-22 23:48:03 · 139 阅读 · 0 评论 -
简单理解Zookeeper的Leader选举
Leader选举是保证分布式数据一致性的关键所在。Leader选举分为Zookeeper集群初始化启动时选举和Zookeeper集群运行期间Leader重新选举两种情况。在讲解Leader选举前先了解一下Zookeeper节点4种可能状态和事务ID概念。1、Zookeeper节点状态LOOKING:寻找Leader状态,处于该状态需要进入选举流程LEADING:领导者状态,处于该状态的节点说...转载 2018-11-30 21:32:53 · 209 阅读 · 0 评论 -
Zookeeper集群搭建
要点:zookeeper中leader识别fellower,是因为配制文件中已经配制了fellower主机ip1 集群的特点1)Zookeeper:一个领导者(leader),多个跟随者(follower)组成的集群。2)Leader负责进行投票的发起和决议,更新系统状态3)Follower用于接收客户请求并向客户端返回结果,在选举Leader过程中参与投票4)集群中只要有半数...原创 2019-01-16 21:24:32 · 173 阅读 · 0 评论