常见大数据组件待分析的问题
Spark
- Broadcast 底层原理,如分发到 executor 的过程和 task 从 executor 获取的方式等。
- Accumulator 基本用法和底层原理,如在 task 中如何使用和实现等。
- MapOutputTracker 底层原理、作用、实现方式,如何在 spark 集群中起作用。
- Coordinator 相关的类的作用。
- 高层模块与底层模块是如何融合在一起的?
- BlockManager 如何切分数据为 Block,以及各个节点如何通过 BlockManager 获取相应的 Block
- ShuffleManager 的作用和底层原理
- MemoryManager 的作用和底层原理, 以及在加载数据和计算时申请内存的流程
- Shuffle 原理及实现方式, 即 shuffle 的写入和读取方式
- spark shuffle 与 MR 的 Shuffle 的实现原理做对比
- spark Metrics 实现原理和实现方式
Zookeeper
- Zookeeper 的分布式一致性协议 ZAB 原理及实现方式
Curator
- Curator 各模块的作用和相关依赖
- Curator-Client 模块是如何封装 Zookeeper 相关 API,并隐藏底层复杂的实现的
Hadoop
- 基本服务的作用及实现方式,如 NameNode, DataNode, ResourceManager 等。
- Metrics 的实现原理和方式
- Hadoop 重点需要关注的监控指标
- Hadoop 的监控的实现原理,以及重要监控项的含义
- Hadoop hdfs 的实现架构
- Hadoop 的 Block 的实现方式,比如如何找到某个数据在某个 Block 上, 如何做备份,如何做自动均衡等待
- DataNode 中 DataXceiver 的作用及原理分析
Kafka
ElasticSearch
Hbase
- LSM-Tree 简介/原理,以及在 Hbase 中的实现方式
- Hbase Compatition 的逻辑与实现逻辑
- Hbase Split 的逻辑与实现逻辑