
Hadoop 面试题解析
Zookeeper 面试题解析
Flume 面试题解析
Kafka 面试题解析
Hive 面试题解析
HBase 面试题解析
Sqoop 面试题解析
MySQL 面试题解析
Spark 面试题解析
Elasticsearch 面试题解析
相关推荐

2021-03-29
Flume 面试题解析
Flume 使用场景?线上数据一般主要是落地(存储到磁盘)或者通过 socket 传输给另外一个系统,这种情况下,你很难推动线上应用或服务去修改接口,实现直接向 Kafka 里写数据,这时候你可能就需要 Flume 这样的系统帮你去做传输。 Flume 丢包问题?单机 upd 的 Flume source 的配置,100+M/s 数据量,10w qps Flume 就开始大量丢包,因此很多公司在搭建系统时,抛弃了 Flume,自己研发传输系统,但是往往会参考 Flume 的 Source-Channel-Sink 模式。 一些公司在 Flume 工作过程中,会对业务日志进行监控,例如 Flume agent 中有多少条日志,Flume 到 Kafka 后有多少条日志等等,如果数据丢失保持在 1% 左右是没有问题的,当数据丢失达到 5% 左右时就必须采取相应措施。 Flume 与 Kafka 的选取?采集层主要可以使用 Flume、Kafka 两种技术。 Flume:Flume 是管道流方式,提供了很多的默认实现,让用户通过参数部署,及扩展 API。 Kafka:Kafka 是一...

2021-01-14
MySQL 优化
优化三大方向 优化 MySQL 所在服务器内核(此优化一般由运维人员完成)。 对 MySQL 配置参数进行优化(my.cnf)此优化需要进行压力测试来进行参数调整。 对 SQL 语句以及表优化。 参数优化 MySQL 默认的最大连接数为 100,可以在 mysql 命令提示窗口使用以下命令查看 1mysql> SHOW variables LIKE 'max_connections'; 查看当前访问 MySQL 的线程 1mysql> SHOW processlist; 设置最大连接数 1mysql> SET globle max_connections = 5000; 最大可设置 16384,超过没用 查看当前被使用的 connections 1mysql> SHOW GLOBAL STATUS LIKE 'max_user_connections' 性能优化 使用查询缓存优化查询 使用 EXPLAIN 关键字检测查询 只要一行数据时使用 LIMIT 1 为搜索字段建立索引 在 JOI...

2021-03-27
Zookeeper 面试题解析
请简述 Zookeeper 的选举机制?假设有五台服务器组成的 Zookeeper 集群,它们的 id 从 1-5,同时它们都是最新启动的,也就是没有历史数据,在存放数据量这一点上,都是一样的。假设这些服务器依序启动,来看看会发生什么。 服务器 1 启动,此时只有它一台服务器启动了,它发出去的报没有任何响应,所以它的选举状态一直是 LOOKING 状态; 服务器 2 启动,它与最开始启动的服务器 1 进行通信,互相交换自己的选举结果,由于两者都没有历史数据,所以 id 值较大的服务器 2 胜出,但是由于没有达到超过半数以上的服务器都同意选举它(这个例子中的半数以上是 3),所以服务器 1、2 还是继续保持 LOOKING 状态; 服务器 3 启动,根据前面的理论分析,服务器 3 成为服务器 1、2、3 中的 Leader,而与上面不同的是,此时有三台服务器选举了它,所以它成为了这次选举的 Leader; 服务器 4 启动,根据前面的分析,理论上服务器 4 应该是服务器 1、2、3、4 中最大的,但是由于前面已经有半数以上的服务器选举了服务器 3,所以它成为 Follower;...

2021-05-07
Spark RDD 常用算子
Spark 的算子的分类 从大方向来说,Spark 算子大致可以分为以下两类: Transformation 变换/转换算子:这种变换并不触发提交作业,完成作业中间过程处理。 Transformation 操作是延迟计算的,也就是说从一个 RDD 转换生成另一个 RDD 的转换操作不是马上执行,需要等到有 Action 操作的时候才会真正触发运算。 Action 行动算子:这类算子会触发 SparkContext 提交 Job 作业。 Action 算子会触发 Spark 提交作业(Job),并将数据输出 Spark 系统。 从小方向来说,Spark 算子大致可以分为以下三类: Value 数据类型的 Transformation 算子,这种变换并不触发提交作业,针对处理的数据项是 Value 型的数据。 Key-Value 数据类型的 Transformation 算子,这种变换并不触发提交作业,针对处理的数据项是 Key-Value 型的数据对。 Action 算子,这类算子会触发 SparkContext 提交 Job 作业。 Value 数据类型的 Tr...

2021-03-30
Kafka 面试题解析
请说明什么是 Apache Kafka?Apache Kafka 是由 Apache 开发的一种发布订阅消息系统,它是一个分布式的、分区的和重复的日志服务。 请说明什么是传统的消息传递方法?传统的消息传递方法包括两种: 队列:在队列中,一组用户可以从服务器中读取消息,每条消息都发送给其中一个人。 发布-订阅:在这个模型中,消息被广播给所有的用户。 Kafka 都有哪些特点? 高吞吐量、低延迟:Kafka 每秒可以处理几十万条消息,它的延迟最低只有几毫秒,每个 topic 可以分多个 partition、consumer group 对 partition 进行 consume 操作。 可扩展性:Kafka 集群支持热扩展。 持久性、可靠性:消息被持久化到本地磁盘,并且支持数据备份防止数据丢失。 容错性:允许集群中节点失败(若副本数量为 n,则允许 n-1 个节点失败)。 高并发:支持数千个客户端同时读写。 请说明 Kafka 相对于传统的消息传递方法有什么优势? 高性能:单一的 Kafka 代理可以处理成千上万的客户端,每秒处理数兆字节的读写操作,Kafka 性能远超过传统...

2021-05-26
Spark 面试题解析
Spark 内核Spark 的有几种部署模式,每种模式特点? 本地模式:Spark 不一定非要跑在 Hadoop 集群,可以在本地,起多个线程的方式来指定。将 Spark 应用以多线程的方式直接运行在本地,一般都是为了方便调试,本地模式分三类: local:只启动一个 Executor local[k]:启动 k 个 Executor local[*]:启动跟 CPU 数目相同的 Executor standalone 模式:分布式部署集群,自带完整的服务,资源管理和任务监控是 Spark 自己监控,这个模式也是其他模式的基础。 Spark on Yarn 模式:分布式部署集群,资源和任务监控交给 YARN 管理,但是目前仅支持粗粒度资源分配方式,包含 cluster 和 client 运行模式,cluster 适合生产,Driver 运行在集群子节点,具有容错功能,client 适合调试,Driver 运行在客户端。 Spark On Mesos 模式:官方推荐这种模式(当然,原因之一是血缘关系)。正是由于 Spark 开发之初就考虑到支持 Mesos,因此,目前而言,Sp...
评论





