欢迎访问服务器技术网-www.fuwuqijishu.com

13.0 Zookeeper Leader 选举原理

13.0 Zookeeper Leader 选举原理
zookeeper 的 leader 选举存在两个阶段,一个是服务器启动时 leader 选举,另一个是运行过程中 leader 服务器宕机。在分析选举原理前,先介绍几个重要的参数。 服务器 ID(myid):编号越大在选举算法中权重越大 事务 ID(zxid):值越大说明数据越新,权重越大 逻辑时钟(epoch-logicalclock):同一轮投票过程中的逻辑时钟值是相同的,每投完一次值会增加 选举状……继续阅读 »

2年前 (2022-07-26) 92浏览 0评论 0个赞

2.0 Zookeeper 安装配置

2.0 Zookeeper 安装配置
Linux 安装 zookeeper 下载地址为: https://zookeeper.apache.org/releases.html。 选择一稳定版本,本教程使用的 release 版本为3.4.14,下载并安装。 打开网址 https://www.apache.org/dyn/closer.lua/zookeeper/zookeeper-3.4.14/zookeeper-3.4.14.tar.gz,看到如下……继续阅读 »

2年前 (2022-07-22) 219浏览 0评论 0个赞

7.0 Zookeeper 客户端基础命令使用

7.0 Zookeeper 客户端基础命令使用
zookeeper 命令用于在 zookeeper 服务上执行操作。 首先执行命令,打开新的 session 会话,进入终端。 $ sh zkCli.sh 下面开始讲解基本常用命令使用,其中 acl 权限内容在后面章节详细阐述。 ls 命令 ls 命令用于查看某个路径下目录列表。 格式: ls path path:代表路径。 以下实例查看 /runoob 节点: $ ls /runoob ls2 命令 l……继续阅读 »

2年前 (2022-07-21) 103浏览 0评论 0个赞

14.0 Zookeeper 分布式锁实现原理

14.0 Zookeeper 分布式锁实现原理
分布式锁是控制分布式系统之间同步访问共享资源的一种方式。 下面介绍 zookeeper 如何实现分布式锁,讲解排他锁和共享锁两类分布式锁。 排他锁 排他锁(Exclusive Locks),又被称为写锁或独占锁,如果事务T1对数据对象O1加上排他锁,那么整个加锁期间,只允许事务T1对O1进行读取和更新操作,其他任何事务都不能进行读或写。 定义锁: /exclusive_lock/lock 实现方式: 利用 zook……继续阅读 »

2年前 (2022-06-28) 89浏览 0评论 0个赞

5.0 ZooKeeper 数据模型 znode 结构详解

5.0 ZooKeeper 数据模型 znode 结构详解
数据模型 在 zookeeper 中,可以说 zookeeper 中的所有存储的数据是由 znode 组成的,节点也称为 znode,并以 key/value 形式存储数据。 整体结构类似于 linux 文件系统的模式以树形结构存储。其中根路径以 / 开头。 进入 zookeeper 安装的 bin 目录,通过sh zkCli.sh打开命令行终端,执行 “ls /” 命令显示: ……继续阅读 »

2年前 (2022-06-21) 122浏览 0评论 0个赞

3.0 Zookeeper linux 服务端集群搭建步骤

3.0 Zookeeper  linux 服务端集群搭建步骤
本章节将示范三台 zookeeper 服务端集群搭建步骤。 所需准备工作,创建三台虚拟机环境并安装好 java 开发工具包 JDK,可以使用 VM 或者 vagrant+virtualbox 搭建 centos/ubuntu 环境,本案例基于宿主机 windows10 系统同时使用 vagrant+virtualbox 搭建的 centos7 环境,如果直接使用云服务器或者物理机同理。 步骤一:准备三台 zooke……继续阅读 »

2年前 (2022-06-20) 157浏览 0评论 0个赞

11.0 Zookeeper watcher 事件机制原理剖析

11.0 Zookeeper watcher 事件机制原理剖析
zookeeper 的 watcher 机制,可以分为四个过程: 客户端注册 watcher。 服务端处理 watcher。 服务端触发 watcher 事件。 客户端回调 watcher。 其中客户端注册 watcher 有三种方式,调用客户端 API 可以分别通过 getData、exists、getChildren 实现,利用前面章节创建的 maven 工程,新建 WatcherDemo 类,以 e……继续阅读 »

2年前 (2022-06-19) 117浏览 0评论 0个赞

9.0 Zookeeper 节点特性

9.0 Zookeeper 节点特性
本章节介绍一下 zookeeper 的节点特性和简单使用场景,正是由于这些节点特性的存在使 zookeeper 开发出不同的场景应用。 1、同一级节点 key 名称是唯一的 实例: $ ls / $ create /runoob 2 已存在 /runoob 节点,再次创建会提示已经存在。 2、创建节点时,必须要带上全路径 实例: $ ls /runoob $ create /runoob/child 0 $ cr……继续阅读 »

3年前 (2022-06-03) 347浏览 0评论 0个赞

4.0 Zookeeper Java 客户端搭建

4.0 Zookeeper Java 客户端搭建
本教程使用的 IDE 为 IntelliJ IDEA,创建一个 maven 工程,命名为 zookeeper-demo,并且引入如下依赖,可以自行在maven中央仓库选择合适的版本,介绍原生 API 和 Curator 两种方式。 IntelliJ IDEA 相关介绍: Intellij IDEA 使用教程 Maven IntelliJ <dependency> <groupId>……继续阅读 »

3年前 (2022-05-26) 214浏览 0评论 0个赞

12.0 Zookeeper 数据同步流程

12.0 Zookeeper 数据同步流程
在 Zookeeper 中,主要依赖 ZAB 协议来实现分布式数据一致性。 ZAB 协议分为两部分: 消息广播 崩溃恢复 消息广播 Zookeeper 使用单一的主进程 Leader 来接收和处理客户端所有事务请求,并采用 ZAB 协议的原子广播协议,将事务请求以 Proposal 提议广播到所有 Follower 节点,当集群中有过半的Follower 服务器进行正确的 ACK 反馈,那么Leader就会……继续阅读 »

3年前 (2022-05-15) 109浏览 0评论 0个赞

10.0 Zookeeper 权限控制 ACL

10.0 Zookeeper 权限控制 ACL
zookeeper 的 ACL(Access Control List,访问控制表)权限在生产环境是特别重要的,所以本章节特别介绍一下。 ACL 权限可以针对节点设置相关读写等权限,保障数据安全性。 permissions 可以指定不同的权限范围及角色。 ACL 命令行 getAcl 命令:获取某个节点的 acl 权限信息。 setAcl 命令:设置某个节点的 acl 权限信息。 addauth 命令:输入认……继续阅读 »

3年前 (2022-05-15) 91浏览 0评论 0个赞

8.0 Zookeeper 四字命令

8.0 Zookeeper 四字命令
zookeeper 支持某些特定的四字命令与其交互,用户获取 zookeeper 服务的当前状态及相关信息,用户在客户端可以通过 telenet 或者 nc(netcat) 向 zookeeper 提交相应的命令。 安装 nc 命令: $ yum install nc # centos 或 $ sudo apt install netcat # ubuntu 四字命令格式: ……继续阅读 »

3年前 (2022-05-15) 139浏览 0评论 0个赞

6.0 Zookeeper session 基本原理

6.0 Zookeeper session 基本原理
客户端与服务端之间的连接是基于 TCP 长连接,client 端连接 server 端默认的 2181 端口,也就是 session 会话。 从第一次连接建立开始,客户端开始会话的生命周期,客户端向服务端的ping包请求,每个会话都可以设置一个超时时间。 Session 的创建 sessionID: 会话ID,用来唯一标识一个会话,每次客户端创建会话的时候,zookeeper 都会为其分配一个全局唯一的 sessi……继续阅读 »

3年前 (2022-05-15) 110浏览 0评论 0个赞


Warning: error_log(/www/wwwroot/fuwiqijishu/wp-content/plugins/spider-analyser/#log/log-2114.txt): failed to open stream: No such file or directory in /www/wwwroot/fuwiqijishu/wp-content/plugins/spider-analyser/spider.class.php on line 2900