zookeeper 复习 ---- 练习
zookeeper 复习 ---- 练习
- 在同一节点配置三个 zookeeper,配置正确的是?
A:
zoo1.cfg
tickTime=2000 initLimit=5
syncLimit=2
dataDir=/var/lib/zookeeper/zoo1 clientPort=2181
server.1=localhost:2666:3666
server.2=localhost:2667:3667
server.3=localhost:2668:3668
zoo2.cfg
tickTime=2000
initLimit=5
syncLimit=2
dataDir=/var/lib/zookeeper/zoo2 clientPort=2181
server.1=localhost:2666:3666
server.2=localhost:2667:3667
server.3=localhost:2668:3668
zoo3.cfg
tickTime=200
initLimit=5
syncLimit=2
dataDir=/var/lib/zookeeper/zoo3 clientPort=2181
server.1=localhost:2666:3666
server.2=localhost:2667:3667
server.3=localhost:2668:3668
B:
zoo1.cfg
tickTime=2000
initLimit=5
syncLimit=2
dataDir=/var/lib/zookeeper/zoo1 clientPort=2181
server.1=localhost:2666:3666
server.2=localhost:2667:3667
server.3=localhost:2668:3668
zoo2.cfg
tickTime=2000
initLimit=5
syncLimit=2
dataDir=/var/lib/zookeeper/zoo2 clientPort=2182
server.1=localhost:2666:3666
server.2=localhost:2667:3667
server.3=localhost:2668:3668
zoo3.cfg
tickTime=200
initLimit=5
syncLimit=2
dataDir=/var/lib/zookeeper/zoo3 clientPort=2183
server.1=localhost:2666:3666
server.2=localhost:2667:3667
server.3=localhost:2668:3668
每个服务条目应使用不同的端口号
C:
zoo1.cfg
tickTime=2000
initLimit=5
syncLimit=2
dataDir=/var/lib/zookeeper/zoo1 clientPort=2181
server.1=localhost:2888:3888
server.2=localhost:2888:3888
server.3=localhost::2888:3888
zoo2.cfg
tickTime=2000
initLimit=5
syncLimit=2
dataDir=/var/lib/zookeeper/zoo2 clientPort=2182
server.1=localhost:2888:3888
server.2=localhost:2888:3888
server.3=localhost:2888:3888
zoo3.cfg
tickTime=200
initLimit=5
syncLimit=2
dataDir=/var/lib/zookeeper/zoo3 clientPort=2183
server.1=localhost:2888:3888
server.2=localhost:2888:3888
server.3=localhost:2888:3888
D:
zoo1.cfg
tickTime=2000
initLimit=5
syncLimit=2
dataDir=/var/lib/zookeeper/zoo1 clientPort=2181
server.1=localhost:2888:3888
server.2=localhost:2888:3888
server.3=localhost::2888:3888
zoo2.cfg
tickTime=2000
initLimit=5
syncLimit=2
dataDir=/var/lib/zookeeper/zoo2 clientPort=2181
server.1=localhost:2888:3888
server.2=localhost:2888:3888
server.3=localhost:2888:3888
zoo3.cfg
tickTime=200
initLimit=5
syncLimit=2
dataDir=/var/lib/zookeeper/zoo3 clientPort=2181
server.1=localhost:2888:3888
server.2=localhost:2888:3888
server.3=localhost:2888:3888
-
下面那个描述是错误的?
A:ZooKeeper 数据模型中的每个 znode 都维护一个 stat 结构。
B:stat 仅提供 znode 的元数据
C:动作控制列表(ACL):ACL 基本上是用于访问 znode 的权限验证机制。
身份验证机制
D: stat由版本 号,操作控制列表(ACL),时间戳和数据长度组成 -
对stat结构体,下面那个描述是错误的?
A:版本号:每个 znode 都有一个版本号,这意味着与 znode 关联的数据每次更改时,其相应的版本 号也会增加。
B:动作控制列表控制着所有 znode 的 读写操作。
C:时间标记:时间标记表示从 znode 创建和修改起经过的时间。 通常用秒表示
通常用毫秒表示
D:数据长度:存储在 znode 中的数据总量就是数据长度。 您最多可以存储 1MB 的数据。 -
对znode的命名规则,下面那个描述是错误的?
A:以斜杠分隔的 znode 路径是规范的,必须是绝对的
B:znode 名称可以由 Unicode 字符组成,并且 znodes 可以具有任何名称
C:ZooKeeper 识别可以相对路径和引用。
zookeeper 无法识别相对路径和引用
D:ZooKeeper 字是保 留字,不能用作 znode 名称。 另外,使用“.” 不允许作为路径组件。 -
创建有序持久节点指令正确的是?
A:create -s -e /[NIIT]
B:create -s /[NIIT]
持久的
create
短暂的
create -e
持续顺序
create -s
短暂顺序
create -s -e
C:create -e /[NIIT]
D:create /[NIIT] -
下面哪种情况不会触发监视器?
A:对 znode 数据的任何更改
B:对 znode 子代的任何更改
C:正在创建或删除的 znode
D:对 znode父代的任何更改
A、B、C 就是三种触发监视器的更改
-
针对zookeeper监视器,以下哪句话是错误的?
A:ZooKeeper 确保始终以先进先出(FIFO)的方式订购监视器
B:ZooKeeper 确保始终按顺序发送通知。
C:监视事件的顺序是根据 ZooKeeper 服务看到的更新进行排序的。
D:在对同一 znode 进行任何其他更改之后,将监视通知传递给客户端。
更改之前
-
下面那个描述错误的是?
A:Createdevent: 已通过存在的调用启用
B:Deletedevent: 通过调用 exist,getData 和 getChildren 启用。
C:Changedevent: 通过调用 exist 和 getData 启用。
D:Childevent: 通过调用 getChildren和exist启用。
只通过 getChildren 启用
-
下面那个不是Zookeeper的构造函数?
A:ZooKeeper(String connectString, int sessionTimeout, Watcher watcher, boolean canBeReadOnly)
B:ZooKeeper(String connectString, int sessionTimeout, Watcher watcher, long sessionId)
connectString
以逗号分割的 host: port 对列表
sessionTimeout
会话超时(以毫秒为单位)
watcher
一个观察者对象(如果创建)将被通知状态更改和节点事件
sessionId
重新连接是要使用的特定会话 ID
sessionPasswd
会话的密码
canBeReadOnly
在分区情况下是否允许创建的客户端进入只读模式
C:ZooKeeper(String connectString, int sessionTimeout, Watcher watcher)
D: ZooKeeper(String connectString, int sessionTimeout, Watcher watcher, long sessionId, byte[] sessionPasswd, boolean canBeReadOnly) -
以下哪句话是错误的?
A:分布式系统使用屏障来阻止一组节点的处理,直到满足条件时才允许所有节点继续进行。
B:双重屏障有助于同步计算的开始和结束。
C:分布式队列是一种常见的数据结构。
D:全局同步的完全分布式锁,这意味着在任何时间的快照中,可能有两个客户端会认为它们拥有相同的锁。
全局同步的完全分布式锁,这意味着在任何时间的快照中,没有两个客户端会认为它们拥有相同的锁。
-
下面那个不是锁定的典型场景的是:
A:写入共享的数据库或文件
B:处理来自其他节点的所有 I/O 请求
C:充当决策子系统
D:单线程的取钱系统
A、B、C 锁的典型场景
-
下面那句话是错误的?
A:两阶段提交协议是一种算法,它允许分布式系统中的部分客户端同意提交事务或中止事务。
所有客户端
B:分布式系统的领导者需要充当任务的集中控制器,以简化流程同步。
C:在分布式系统中,选举算法是指将单个服务器指定为在多个单独服务器(节点)之间分配的某些任 务的组织者,协调者或发起者的过程
D:分布式系统中的组成员身份协议使进程可以就系统中当前处于活动状态且正在运行的一组进程达成 共识。 -
下面描述错误的是?
A:为了 防止 Zookeeper 因排队请求而耗尽内存,Zookeeper 将限制客户端,使系统中未处理的请求不超 过 globalOutstandingLimit。默认限制为 1000。
B:preAllocSize 为了避免查找 Zookeeper 在事务日志文件中以预分配千字节的块分配空间
C:autopurge.snapRetainCount 清除数据时不保留的快照数和相应的事务日志数。
清除数据时要保留的快照数和相应的事务日志数。
D:如果定义了traceFile,则请求将被记录到名为跟踪文件.年.月.天。 -
下面那个描述错误的是?
A:maxClientCnxns限制由 IP 地址标识的单个客户机可以与 Zookeeper 集成的单个成员进行的并发连接数(在套接 字级别)。
B:initLimit允许跟随者连接和同步到领导者的时间量,以 tick 为单位(请参见 tickTime)。
C:server.x=[hostname]:nnnnn[:nnnnn] (无 Java 系统属性) 组成 Zookeeper 群的服务器。
D:leaderServes (Java 系统属性: zookeeper.leaderServes) 领导者接受客户端连接。默认值为“no”。
默认值为 “yes”
-
下面那个描述错误的是?
A:forceSync (Java 系统属性: zookeeper.forceSync)
在完成更新处理之前,需要将更新同步到事务日志的媒体。
B:jute.maxbuffer: (Java 系统属性: jute.maxbuffer)
此选项只能设置为 Java 系统属性。
C:skipACL (Java 系统属性: zookeeper.skipACL)
跳过 ACL 检查。
D:zookeeper.DigestAuthenticationProvider.superDigest (Java 系统属性)此系统属性指定“super”用户的密码摘要。(默认情况下启用此功能。)
默认情况下禁用此功能
-
下面那个描述错误的是?
A:ruok 提供关于服务器状态的(有限的)信息。
B:stat 提供有关服务器状态和当前处于活动状态的连接的信息。
C:dump 提供会话信息,列出当前活动的会话及其过期时间
D:wchc 列出服务器跟踪的监视的详细信息,按监视的 znode 路径分组。
按会话分组
-
关于ApacheCurator描述错误的是?
A:客户: Curator 客户端是 Zookeeper 的 Java 客户端的包装器。它是 curator 堆栈中的一个低级 API,从 Zookeeper 客户端抽象出功能。
B:构架: Curator 框架是一个高级 API,具有自动连接管理、操作重试等高级功能。它大大简化了 Zookeeper 的使用。
C:菜谱: Curator 技巧提供 Zookeeper 配方的实现;这些实现可直接用于分布式应用程序中,以解 决协调问题。
D:扩展名: Curator 技巧包实现了常见技巧。为了避免膨胀这个包,它被集成在curator包中使用
使用一个单独的包
-
关于重试策略描述错误的是?
A:BoundedExponentialBackoffRetry:通过将重试之间的睡眠时间增加到最大上限,重试指定次数。
B:ExponentialBackoffRetry: 通过增加重试间隔的睡眠时间,重试指定次数。
C:RetryNTimes: 这将重试不同时间间隔 n次。
相同的时间间隔 n 次
D:RetryUntilElapsed:此操作将重试,直到客户端启动后超过指定的超时,块直到连接成功或连接超 时为止。 -
关于共享锁描述错误的是?
A:共享可重入锁:这种类型的锁提供全局同步的全分布式锁。
B:共享锁:这是非可重入共享重入锁。
C:共享的可重入读/写锁:用于将多个锁作为单个实体进行管理。
多共享锁:用于将多个锁作为单个实体进行管理。
D:共享信号量:这个计数信号量可以跨 JVM 工作。 -
下面关于curator实用程序描述错误的?
A:测试服务器:此本地进程中的 Zookeeper 服务器可用于测试。
B:测试集群:这是一个内部运行的 Zookeeper 服务器集合,用于测试
C:确保路径:这是一个实用程序,用于确保在使用后创建特定的 znode 路径。
用于确保在使用前创建特定的 znode 路径
D:Reaper:这是一个删除没有子路径和没有数据的节点的实用程序。