1 Star 0 Fork 31

np / Ebooks

forked from Java精选 / Ebooks 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
2021年最新最全面 Zookeeper 面试题(总结全面的面试题).md 5.26 KB
一键复制 编辑 原始数据 按行查看 历史

2021年最新最全面 Zookeeper 面试题(总结全面的面试题)

全部面试题答案,更新日期:12月30日,直接下载吧!

下载链接:高清500+份面试题资料及电子书,累计 10000+ 页大厂面试题 PDF

Zookeeper

题1:Zookeeper 中什么情况下导致 ZAB 进入恢复模式并选取新的 Leader?

启动过程或Leader出现网络中断、崩溃退出与重启等异常情况时。

当选举出新的Leader后,同时集群中已有过半的机器与该Leader服务器完成了状态同步之后,ZAB就会退出恢复模式。

题2:Zookeeper 中定义了几种操作权限?

zookeeper中对znode节点的操作权限主要有以下五种,我们可以通过其简写的任意组合来实现对znode节点的不同权限控制。

名称 简写 权限说明
CREATE c 允许创建当前节点下的字节点
DELETE d 允许删除当前节点下的子节点,仅限下一级
READ r 允许读取节点数据以及显示子节点的列表
WRITE w 允许设置当前节点的数据
ADMIN a 管理员权限,允许设置或读取当前节点的权限列表

题3:Zookeeper 中 Stat 记录有哪些版本相关数据?

version:当前ZNode版本

cversion:当前ZNode子节点版本

aversion:当前ZNode的ACL版本

题4:Zookeeper 中如何识别请求的先后顺序?

ZooKeeper会给每个更新请求,分配一个全局唯一的递增编号(zxid),编号的大小体现事务操作的先后顺序。

题5:Zookeeper 节点存储数据有没有限制?

Zookeeper中每个结点默认的数据量上限是1M,如果需要存入大于1M的数据量,则要修改jute.maxbuffer参数。

jute.maxbuffer:默认值1048575,单位字节,用于配置单个数据节点(ZNode)上可以存储的最大数据大小。

需要注意的是在修改该参数的时候,需要在zookeeper集群的所有服务端以及客户端上设置才能生效。

题6:Zookeeper 中都有哪些默认端口?

Zookeeper的默认端口有3个,如下:

2181:对Client端提供服务的端口。

3888:选举Leader。

2888:集群内的机器通讯使用。(Leader使用此端口)

题7:ZooKeeper 中是否支持禁止某一 IP 访问?

ZK本身不提供这样的功能,它仅仅提供了对单个IP的连接数的限制。

但是可以通过修改iptables等方式来实现对单个ip的限制。

题8:ZooKeeper 中什么情况下删除临时节点?

如果连接断开后,ZK不会马上移除临时数据,只有当SESSIONEXPIRED之后,才会把这个会话建立的临时数据移除。因此,用户需要谨慎设置Session_TimeOut。

题9:ZooKeeper 中支持临时节点创建子节点吗?

ZooKeeper不支持临时节点创建子节点。

题10:ZooKeeper 中节点增多时,什么情况导致 PtBalancer 速度变慢?

1)ZK有1MB 的传输限制。 实践中ZNode必须相对较小,而队列包含成千上万的消息,非常的大。

2)如果有很多节点,ZK启动时相当的慢。而使用queue会导致好多ZNode,需要显著增大initLimit和syncLimit。

3)ZNode很大的时候很难清理。Netflix不得不创建了一个专门的程序做这事。

4)当很大量的包含成千上万的子节点的ZNode时, ZK的性能变得不好。

5)ZK的数据库完全放在内存中。大量的Queue意味着会占用很多的内存空间。

尽管如此,Curator还是创建了各种Queue的实现。如果Queue的数据量不太多,数据量不太大的情况下,酌情考虑,还是可以使用。

大厂面试题

大厂面试题

大厂面试题

Java
1
https://gitee.com/huangdx.net/ebooks.git
git@gitee.com:huangdx.net/ebooks.git
huangdx.net
ebooks
Ebooks
master

搜索帮助