利剑无意之面试题(一)
- 下列哪项不是zookeeper的应用场景【D】
A 服务器节点动态上下线 B统一配置管理 C负载均衡 D实时数据处理
- 下列哪个不是hbase的Hmaster的功能【D】
A处理RegionServer故障转移
B处理元数据的变更
C在空闲时间进行数据的负载均衡
D负责存储HBase的实际数据
- 简述你对zookeeper的理解
zk是一个分布式,开源的分布式应用程序的协调服务,提供的服务有:配置维护,域名服务,分布式同步,租服务等。
zk是以PAXOS为基础的,paxos是一个基于消息传递的一致性算法。
zk的基本运转流程:
1、选举Leader
2、同步数据
3、选举Leader过程中算法有很多,但要达到的选举标准是一致的。
4、leader要具有最高的执行ID,类似root权限
5、集群中大多数的机器得到响应后并接受选出的Leader
- 简述zookeeper的znode的4种节点类型
四种节点类型:
1、持久化节点
2、持久化排序节点
3、临时节点
4、临时排序节点
持久化指:节点创建后会被持久化,只有主动调用delete方法的时候才可以删除节点
临时节点:节点创建后在创建者超时连接或失去连接的时候,节点会被删除。临时节点下不存在子节点
排序节点:创建的节点名称后自动添加序号。如node-1
- 简述hbase的特点
高可靠性
高性能
面向列
可伸缩
实时读写
数据量大
速度快
- 简述hbase中zookeeper的3个作用
保证任何时候集群中有且仅有一台active的master
存储所有region的寻址入口
存储相关表的schema数据
- 简述hbase读取数据的流程
读流程:
1、client向zk发起请求
2、在zk中拿到metadata的存储节点
3、去存储metadata的节点上获取region 的所在位置
4、访问对应的region获取数据
5、先在memestore中查询数据,若存在,直接返回,
6、若不存在,向缓存blockcache中查询数据,若存在,则返回
7、若不存在,则向硬盘中查找数据。并将数据写在缓存(blockcache)中,以便下次的查询
8、返回结果给client
- 为什么要设thbase的rowkey ?
1、让数据均匀的分布于所有的region中,在一定程度上防止数据倾斜。
2、记住rowkey,便于以后取出相应rowkey的数据
- 简述kafka是如何实现消息的广播与单播的
Consumer Group (CG),即消费者组,是kafka用来实现一个topic消息的广播(发给所有的consumer)和单播(发给任意一个consumer)的手段。一个topic可以有多个partition,也可以对应多个CG。topic的消息会复制(不是真的复制,是概念上的)到所有的CG,但每个partition只会把消息发给该CG中的一个consumer。如果需要实现广播,只要每个consumer有一个独立的CG就可以了。要实现单播只要所有的consumer在同一个CG。用CG还可以将consumer进行自由的分组而不需要多次发送消息到不同的topic
- kafka的partition有什么用处
分区:
1、增强扩展能力,让其可以处理任意多的数据
2、作为并行单元,提高并行能力
总结
以上是生活随笔为你收集整理的利剑无意之面试题(一)的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: 利剑无意之scala小考核
- 下一篇: 利剑无意之面试题(二)