ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

Java 最常见的 208 道面试题(152-163)-------kafka/zookeeper

2020-03-17 13:05:01  阅读:237  来源: 互联网

标签:面试题 152 Java zookeeper kafka 集群 使用 服务器 节点


152.kafka 可以脱离 zookeeper 单独使用吗?为什么?

kafka不能脱离zookeeper单独使用,因为kafka使用zookeeper管理和协调kafka的节点服务器

153.kafka 有几种数据保留的策略?

kafka有两种数据保存策略:按照过期时间保留和按照存储的消息大小保留

154.kafka 同时设置了 7 天和 10G 清除数据,到第五天的时候消息达到了 10G,这个时候 kafka 将如何处理?

kafka会执行数据清除工作,时间和大小不论满足哪个条件,都会清空数据

155.什么情况会导致 kafka 运行变慢?

    cpu性能瓶颈
    磁盘读写瓶颈
    网络瓶颈

156.使用 kafka 集群需要注意什么?

集群的数量不是越多越好,最好不要超过7个,节点越多,消息复制需要的时间久越长,整个群组的吞吐量就越低。
   集群数量最好是单数,超过一半故障集群就不能用了,设置为单数容错率更高。

157.zookeeper 是什么?

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

158.zookeeper 都有哪些功能?

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

159.zookeeper 有几种部署模式?

zookeeper有三种部署模式:
       单机部署:  一台集群上运行
       集群部署:  多台集群运行
       伟集群部署:一台集群启动多个zookeeper实例运行

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

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

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

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

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

可以继续使用,单数服务器只要没超过一半的服务器宕机就可以继续使用,双数服务器不能等于,超过一半服务器

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

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

标签:面试题,152,Java,zookeeper,kafka,集群,使用,服务器,节点
来源: https://blog.csdn.net/qq_42029989/article/details/104901375

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有