(26)...ZooKeeper
IT云清
技术专家,团队主管,Apache Seata Committer,公众号:java4all
展开
-
ZooKeeper---(1)ZooKeeper原理介绍
本文转载自:Sunddenly(⊙_⊙)一、分布式协调技术在给大家介绍ZooKeeper之前先来给大家介绍一种技术——分布式协调技术。那么什么是分布式协调技术?那么我来告诉大家,其实分布式协调技术主要用来解决分布式环境当中多个进程之间的同步控制,让他们有序的去访问某种临界资源,防止造成"脏数据"的后果。这时,有人可能会说这个简单,写一个调度算法就轻松解决了。说这句话的人,可能对分布式系统不是很了解...转载 2018-02-11 17:33:13 · 1761 阅读 · 3 评论 -
Error contacting service. It is probably not running.
搭建zookeeper集群是发现了一个奇怪的现象: 问题:在同一台机器上,启动三个zookeeper,三个分别使用不同的配置文件,内容如下:tickTime=2000initLimit=10syncLimit=5dataDir=/usr/local/wang/zookeeper-3.4.8-3/datadataLogDir=/usr/local/wang/zookeeper-3.4....原创 2018-06-14 10:52:07 · 469 阅读 · 0 评论 -
zkServer.sh: command not found
1.zkServer.sh: command not found此错误详细情况如下:root@iZuf6axmuekh1n14dwcufmZ:/usr/java/zookeeper/bin# lsREADME.txt zkCleanup.sh zkCli.cmd zkCli.sh zkEnv.cmd zkEnv.sh zkServer.cmd zkServer.sh zookee...原创 2018-02-12 17:04:27 · 6531 阅读 · 0 评论 -
ZooKeeper系列教学
本专题是ZooKeeper的一些列教学文章,本来博主打算自己写,但是写了两篇之后,查资料过程中发现了Sunddenly(⊙_⊙) 的博客,他的这个系列写的非常专业,而且图文并茂,就转载了过来;我在文章首行挂了原文链接,文章末尾保留了博主的版权声明,文章类型都已经设置为转载,如果有读者想要转载,请遵守原文作者版权声明要求,原创不易,请大家尊重创作者,感谢Sunddenly(⊙_⊙) 下面是此...原创 2018-02-11 18:06:37 · 3433 阅读 · 0 评论 -
两阶段提交协议(two phase commit protocol,2PC)
一、协议概述 两阶段提交协议(two phase commit protocol,2PC)可以保证数据的强一致性,许多分布式关系型数据管理系统采用此协议来完成分布式事务。它是协调所有分布式原子事务参与者,并决定提交或取消(回滚)的分布式算法。同时也是解决一致性问题的一致性算法。该算法能够解决很多的临时性系统故障(包括进程、网络节点、通信等故障),被广泛地使用。但是,它并不能够通过配置来解决所有的故...转载 2018-02-12 14:43:52 · 849 阅读 · 0 评论 -
ZooKeeper---(13)ZooKeeper和Zab协议
本文转载自:Sunddenly(⊙_⊙)一、ZooKeeper概述 ZooKeeper内部有一个in-memory DB,表示为一个树形结构。每个树节点称为Znode(代码在DataTree.java和DataNode.java中)。 客户端可以连接到zookeeper集群中的任意一台。 对于读请求,直接返回本地znode数据。写操作则转换为一个事务,并转发到集群的Leader处理。Zo...转载 2018-02-12 14:39:13 · 614 阅读 · 0 评论 -
ZooKeeper---(12)ZooKeeper和CAP理论及一致性原则
本文转载自:Sunddenly(⊙_⊙)一、CAP理论概述分布式领域中存在CAP理论,且该理论已被证明:任何分布式系统只可同时满足两点,无法三者兼顾。 ①C:Consistency,一致性,数据一致更新,所有数据变动都是同步的。 ②A:Availability,可用性,系统具有好的响应性能。 ③P:Partition tolerance,分区容错性。因此,将精力浪费在思考如何设计能满足三者的...转载 2018-02-12 14:31:14 · 812 阅读 · 0 评论 -
ZooKeeper---(11)ZooKeeper与Paxos算法分析
本文转载自:Sunddenly(⊙_⊙)一、Paxos算法1.1 基本定义(1) 算法中的参与者主要分为三个角色,同时每个参与者又可兼领多个角色:① proposer 提出提案,提案信息包括提案编号和提议的value;② acceptor 收到提案后可以接受(accept)提案;③ learner 只能"学习"被批准的提案;(2) 算法保证一致性的基本语义:① 决议(value)只有在被propo...转载 2018-02-12 14:22:30 · 575 阅读 · 0 评论 -
ZooKeeper---(10)ZooKeeper权限管理机制
本文转载自:Sunddenly(⊙_⊙)一、ZooKeeper权限管理机制介绍 本节将简要介绍ZooKeeper ACL 权限管理的几种方式。ZooKeeper 的权限管理亦即ACL 控制功能,通过Server、Client 两端协调完成:1.1 Server端 一个ZooKeeper 的节点(znode)存储两部分内容:数据和状态,状态中包含ACL信息。创建一个znode 会产生一个ACL ...转载 2018-02-12 14:18:26 · 2111 阅读 · 0 评论 -
ZooKeeper---(9)ZooKeeper配置参数说明
本文转载自:Sunddenly(⊙_⊙)(1)dataDir 用于存放内存数据库快照的文件夹,同时用于集群的myid文件也存在这个文件夹里。(2)dataLogDir 用于单独设置transaction log的目录,transaction log分离可以避免和普通log还有快照的竞争。(3)tickTime 心跳时间,为了确保client-server连接存在的,以毫秒为单位,最小超时时间...转载 2018-02-12 14:13:43 · 645 阅读 · 0 评论 -
ZooKeeper---(7)ZooKeeper一致性原理
本文转载自:Sunddenly(⊙_⊙)一、ZooKeeper 的实现1.1 ZooKeeper处理单点故障我们知道可以通过ZooKeeper对分布式系统进行Master选举,来解决分布式系统的单点故障,如图所示。图 1.1 ZooKeeper解决单点故障那么我们继续分析一下,ZooKeeper通过Master选举来帮助分布式系统解决单点故障,保证该系统中每时每刻只有一个Master为分布式系统提...转载 2018-02-12 10:16:09 · 644 阅读 · 0 评论 -
ZooKeeper---(8)ZooKeeper伸缩性
本文转载自:Sunddenly(⊙_⊙)一、ZooKeeper中Observer1.1 ZooKeeper角色经过前面的介绍,我想大家都已经知道了在ZooKeeper集群当中有两种角色Leader和Follower。Leader可以接受client请求,也接收其他Server转发的写请求,负责更新系统状态。 Follower也可以接收client请求,如果是写请求将转发给Leader来更新系统状态...转载 2018-02-12 11:07:00 · 464 阅读 · 0 评论 -
ZooKeeper---(6)ZooKeeper机制架构
本文转载自:Sunddenly(⊙_⊙)一、ZooKeeper权限管理机制 1.1 权限管理ACL(Access Control List) ZooKeeper 的权限管理亦即ACL 控制功能,使用ACL来对Znode进行访问控制。ACL的实现和Unix文件访问许可非常相似:它使用许可位来对一个节点的不同操作进行允许或禁止的权限控制。但是和标准的Unix许可不同的是,Zookeeper对于用户类别...转载 2018-02-12 10:11:07 · 642 阅读 · 0 评论 -
ZooKeeper---(5)ZooKeeper管理分布式环境中的数据
本文转载自:Sunddenly(⊙_⊙)引言本节本来是要介绍ZooKeeper的实现原理,但是ZooKeeper的原理比较复杂,它涉及到了paxos算法、Zab协议、通信协议等相关知识,理解起来比较抽象所以还需要借助一些应用场景,来帮我们理解。由于内容比较多,一口气吃不成胖子,得慢慢来一步一个脚印,因此我对后期ZooKeeper的学习规划如下:第一阶段:|---理解ZooKeeper的应用 ...转载 2018-02-12 09:21:52 · 753 阅读 · 0 评论 -
ZooKeeper---(4)ZooKeeper应用构建
本文转载自:Sunddenly(⊙_⊙)一、配置服务配置服务是分布式应用所需要的基本服务之一,它使集群中的机器可以共享配置信息中那些公共的部分。简单地说,ZooKeeper可以作为一个具有高可用性的配置存储器,允许分布式应用的参与者检索和更新配置文件。使用ZooKeeper中的观察机制,可以建立一个活跃的配置服务,使那些感兴趣的客户端能够获得配置信息修改的通知。下面来编写一个这样的服务。我们通过两...转载 2018-02-12 09:14:37 · 822 阅读 · 0 评论 -
ZooKeeper---(3)ZooKeeper的操作命令详解
本文转载自:Sunddenly(⊙_⊙)一、Zookeeper的四字命令Zookeeper支持某些特定的四字命令字母与其的交互。他们大多数是查询命令,用来获取Zookeeper服务的当前状态及相关信息。用户在客户端可以通过telnet或nc向Zookeeper提交相应的命令。Zookeeper常用的四字命令见下图所示。上图,是Zookeeper四字命令的一个简单用例。[root@hadoop ~]...转载 2018-02-11 17:51:50 · 1747 阅读 · 0 评论 -
Spring Boot---(23)springboot整合dubbo-zookeeper
本文讲解如何在springboot项目中整合dubbo,zookeeper.具体步骤分为五部: - 1.安装,启动zookeeper - 2.新建dubbo-api项目 - 3.新建dubbo-server项目 - 4.新建dubbo-client项目 - 5.启动项目1.安装,启动zookeeper如果基础的linux命令不熟练,请参考:Linux—(1)linux常用...原创 2018-06-09 14:11:16 · 1202 阅读 · 0 评论