首页 > 其他分享 >Zookeeper面试题整理含答案

Zookeeper面试题整理含答案

时间:2022-12-09 17:45:30浏览次数:47  
标签:面试题 zookeeper Zookeeper 同步 集群 含答案 客户端 节点 分布式

 

Zookeeper面试题整理含答案

zookeeper 是什么?

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

zookeeper 都有哪些功能?

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

zookeeper 有几种部署模式?

zookeeper 有三种部署模式:

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

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

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

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

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

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

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

说一下 zookeeper 的通知机制?

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

 

标签:面试题,zookeeper,Zookeeper,同步,集群,含答案,客户端,节点,分布式
From: https://www.cnblogs.com/biubiu111/p/16969588.html

相关文章

  • 第二章:10道C/C++经典面试题
    面试题11:设置地址为0x67a9的整型变量的值为0xaa66int*ptr;ptr=(int*)0x67a9;*ptr=0xaa66;说明:这道题就是强制类型转换的典型例子,无论在什么平台地址长度和整型数据......
  • 面试题之如何实现AOP,项目哪些地方用到了AOP
    如何实现AOP,项目哪些地方用到了AOP利用动态代理来实现AOP,比如JDK动态代理或Cglib动态代理,利用动态代理技术,可以针对某个类生成代理对象,当调用代理对象的某个方法时,可以任......
  • Eureka 与 Zookeeper 的较量
    著名的CAP理论指出,一个分布式系统不可能同时满足C(一致性)、A(可用性)和P(分区容错性)。由于分区容错性在是分布式系统中必须要保证的,因此我们只能在A和C之间进行......
  • 面试题之Spring中后置处理器的作用
    Spring中后置处理器的作用Spring中的后置处理器分为BeanFactory后置处理器和Bean后置外理器,它们是Spring底层源码架构设计中非常重要要的一种机制,同时开发者也可以......
  • 数据分析常见SQL面试题汇总
    文章目录​​在互联网公司实习中使用HiveSQL的一些体会和注意点​​​​<1>SQL——计算次日留存率​​​​<2>ntile的使用​​​​<3>在不能使用ORDRBY的情况下解决排......
  • Angular8+面试题整理之:基础知识点解析
    本篇文章给大家整理分享一些基于Angular8+的面试题,带大家深入了解一下Angular8+的基本知识点,希望对大家有所帮助!相关推荐:2022年大前端面试题汇总(收藏)关于AngularCLI......
  • Redis面试题总结(2022)
    1基本概念1.1常见考点1、Redis为何这么快?1)基于内存;2)单线程减少上下文切换,同时保证原子性;3)IO多路复用;4)高级数据结构(如SDS、Hash以及跳表等)。2、为何使用单线程?官方......
  • 二、C++面向对象面试题
    二、面向对象1.多态(1)多态的实现有哪几种?黑马程序员C++核心编程第68页静态多态和动态多态。静态多态:是通过重载和模板技术实现的,在编译期间确定函数地址;动态多态:是通过虚函......
  • Flink1.15仅支持ZooKeeper3.5/3.6
    这是一个验证贴,因为社区文档是错误的。先说结论Flink1.15仅支持ZooKeeper3.5/3.6,不再支持3.4。FLINK-25146 DropsupportforZookeeper3.4 https://nightlies.apach......
  • C++面试题(四)
     ​待续#include<QCoreApplication>#include<QTextStream>#include<iostream>usingnamespacestd;classString{public:String(constchar*str=NULL);......