zookeeper常见问题总结

zookeeper常见问题总结


  1. zookeeper 是什么?
  2. zookeeper 都有哪些功能?
  3. zookeeper 有几种部署模式?
  4. zookeeper 怎么保证主从节点的状态同步?
  5. 集群中为什么要有主节点?
  6. 集群中有3台服务器,其中一个节点宕机,这时候 zookeeper 还可以使用吗?
  7. 说一下 zookeeper 的通知机制?

1. zookeeper 是什么?

zookeeper 是一个分布式的,开放源码的分布式应用程序协调服务,是google chubby的开源实现,是 hadoop 和 hbase 的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。


2. zookeeper 都有哪些功能?

  1. 集群管理:监控节点存活状态、运行请求等。
  2. 主节点选举:主节点挂掉之后可以从备用的节点开始新一轮选主,主节点选举说的就是这个选举的过程,使用 zookeeper 可以协助完成这个过程。
  3. 分布式锁: zookeeper提供两种锁:独占锁,共享锁。独占锁即一次只能有一个线程使用资源,共享锁是读锁共享,读写互斥,即可以有多线程同时读同一个资源,如果要使用写锁也只能有一个线程使用。 zookeeper 可以对分布式锁进行控制。
  4. 命名服务:在分布式系统中,通过使用命名服务,客户端应用能够根据指定名字来获取资源或服务的地址,提供者等信息。

3. zookeeper 有几种部署模式?

  • 单机部署:一台集群上运行
  • 集群部署:多台集群运行
  • 伪集群部署:一台集群启动多个 zookeeper 实例运行。

4. zookeeper 怎么保证主从节点的状态同步?

zookeeper 的核心是原子广播,这个机制保证了各个server之间的同步。实现这个机制的协议叫ZAB协议。ZAB协议有两种模式,分别是恢复模式(选主)和广播模式(同步)。当服务启动或者在领导者崩溃后,ZAB就进入了恢复模式,当领导者被选举出来,且大多数server完成了和leader的状态同步以后,恢复模式就结束了。状态同步保证了leader和server具有相同的系统状态。


5. 集群中为什么要有主节点?

在分布式环境中,有些业务逻辑只需要集群中一台机器进行执行,其他的机器可以共享这个结果,这样就可以大大减少重复计算,提高性能,所以就需要主节点。

6. 集群中有3台服务器,其中一个节点宕机,这时候 zookeeper 还可以使用吗?

可以继续使用,单数服务器只要没超过一半的服务器宕机就可以继续使用。

7. 说一下 zookeeper 的通知机制?

客户端会对某个znode简历一个watcher事件,当该znode发生变化,这些客户端会收到 zookeeper 的通知,然后客户端可以根据 znode 变化来做出业务上的改变。

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值