Hadoop
文章平均质量分 76
hadoop面试题解析
走过冬季
大数据知识分享
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
01 | Hadoop中Shuffle为什么使用环形缓冲区
问题答案Hadoop Shuffle 为何用环形缓冲区?为了平衡内存使用与磁盘 I/O,实现高性能 Shuffle核心作用批量缓存 Map 输出,支持异步 spill、排序、分区关键优势减少 I/O、并行计算、控制内存、避免 OOM本质一种内存池 + 生产者-消费者模型的工程优化✅ 环形缓冲区是 Hadoop MapReduceShuffle 性能优化的基石之一,体现了“用内存换速度”的经典分布式系统设计思想。原创 2025-11-13 13:46:08 · 488 阅读 · 0 评论 -
Reduce 任务的数量是怎么确定的
问题答案谁决定 Reduce 任务数量?用户(通过代码或配置)默认是多少?1 个能否自动根据数据量调整?❌ 不能最佳实践?根据集群资源和中间数据量合理设置(通常几十到几百)什么时候设为 0?不需要 Reduce 阶段时(纯 Map 作业)✅建议:生产环境中永远不要依赖默认值 1,应根据实际负载测试确定最优 Reducer 数量。原创 2025-11-11 16:46:29 · 729 阅读 · 0 评论 -
hdfs中写数据时节点宕机如何处理
✅HDFS 在写入过程中具备强容错能力自动检测 DataNode 宕机;动态移除故障节点,替换为健康节点;重传未确认数据,保证数据不丢失;后台自动补足副本数,维持数据可靠性。🔒核心原则“只要有一个副本写入成功,数据就不会丢;系统会自动恢复副本数量。因此,在合理配置和正常运维下,单台甚至多台 DataNode 宕机通常不会导致数据丢失或写入失败,这是 HDFS 作为分布式存储系统的重要优势之一。原创 2025-11-11 13:48:07 · 906 阅读 · 0 评论 -
Yarn有哪些调度策略
YARN 的调度策略核心在于资源如何在多用户、多应用之间分配。是当前主流选择,兼顾隔离性与弹性;曾用于追求公平和低延迟,但已被弃用;FIFO仅适用于简单场景。合理配置调度器,是构建高效、稳定大数据平台的关键一步。原创 2025-11-11 11:21:44 · 745 阅读 · 0 评论 -
Hadoop机架感知原理
机架感知原理:通过脚本/Java API 将 IP 映射到机架信息,构建网络拓扑。HDFS 应用:副本跨机架存储,优先本地读取。MapReduce 应用:任务优先调度到数据本地节点。性能提升:减少网络流量 60-80%,降低读取延迟 30-50%。配置验证。核心价值网络拓扑感知 + 数据本地性优化 + 容错性提升。原创 2025-11-11 09:35:23 · 359 阅读 · 0 评论 -
MapReduce过程中用到了哪些数据结构和算法
MapReduce 核心数据结构:环形缓冲区、HashMap、优先队列、迭代器。关键算法:哈希分区、快速排序、归并排序、LRU 缓存、流式处理。优化策略:内存排序、溢写合并、网络压缩、推测执行。复杂度:Map 排序 O(n log n),Reduce 分组 O(n)。核心要点内存管理 + 排序算法 + 哈希算法 + 流式处理。原创 2025-11-10 17:17:18 · 791 阅读 · 0 评论 -
18 | Hadoop数据压缩
mapreduce.map.output.compress.codec(在mapred-site.xml中配置) org.apache.hadoop.io.compress.DefaultCodec mapper输出 企业多使用LZO或Snappy编解码器在此阶段压缩数据。mapreduce.output.fileoutputformat.compress(在mapred-site.xml中配置) false reducer输出 这个参数设为true启用压缩。优点:压缩/解压速度比较快;原创 2025-06-01 13:11:26 · 412 阅读 · 0 评论 -
Hadoop数据存储与底层原理详解
大文件切分成块(128MB/256MB),分散存储。每个块复制多份(默认3份),跨节点、跨机架存储保证高可用和容错。NameNode管目录(元数据),DataNode管数据(块)。高效的数据复制传输机制。避免NameNode成为数据传输瓶颈。通过FsImage + EditLog保证。校验和机制。心跳检测、块报告、副本自动修复。最终数据存储在DataNode节点的本地文件系统上。纠删码节省存储空间(尤其冷数据),高效列式存储格式(ORC/Parquet)优化分析性能。原创 2025-06-18 13:34:02 · 574 阅读 · 0 评论 -
06 | Hadoop运行模式
4)回到Hadoop目录/opt/module/hadoop-3.1.3。1)创建在hadoop-3.1.3文件下面创建一个wcinput文件夹。2)在wcinput文件下创建一个word.txt文件。1)准备3台客户机(关闭防火墙、静态IP、主机名称)3.1 本地运行模式(官方WordCount)3.2 完全分布式运行模式(开发重点)3)编辑word.txt文件。 在文件中输入如下内容。 保存退出::wq。4)安装Hadoop。原创 2025-05-31 19:36:45 · 200 阅读 · 0 评论 -
04 | Hadoop jdk安装
注意:安装JDK前,一定确保提前删除了虚拟机自带的JDK。2)用XShell传输工具将JDK导入到opt目录下面的software文件夹下面。(3)source一下/etc/profile文件,让新的环境变量PATH生效。(1)新建/etc/profile.d/my_env.sh文件。注意:重启(如果java -version可以用就不用重启)3)在Linux系统下的opt目录中查看软件包是否导入成功。4)解压JDK到/opt/module目录下。6)测试JDK是否安装成功。5)配置JDK环境变量。原创 2025-05-31 19:34:06 · 228 阅读 · 0 评论 -
01| Hadoop概述
(3)Hortonworks的主打产品是Hortonworks Data Platform(HDP),也同样是100%开源的产品,HDP除常见的项目外还包括了Ambari,一款开源的安装和管理系统。(3)CDH是Cloudera的Hadoop发行版,完全开源,比Apache Hadoop在兼容性,安全性,稳定性上有所增强。(1)2008年成立的Cloudera是最早将Hadoop商用的公司,为合作伙伴提供Hadoop的商用解决方案,主要是包括支持、咨询服务、培训。1.3 Hadoop三大发行版本(了解)原创 2025-05-31 19:30:26 · 511 阅读 · 0 评论 -
Hadoop容错机制详解
NameNode HA 是 Hadoop 2.x 及后续版本的核心特性,显著提升了 HDFS 的可靠性,适用于对服务连续性要求严苛的生产环境。Hadoop NameNode 高可用(High Availability, HA)通过。解决单点故障问题,确保 NameNode 服务持续可用。原创 2025-05-26 14:05:08 · 788 阅读 · 0 评论 -
Hadoop HDFS NameNode HA自动故障转移原理
NameNode HA 的自动故障转移通过 ZK 提供的分布式协调能力和 ZKFC 的本地监控与决策逻辑,结合强制的防护机制,实现了在主 NameNode 失效时快速、安全地将备用 NameNode 提升为主节点,从而保障 HDFS 服务的高可用性。Hadoop HDFS NameNode 高可用性 (HA) 中的。原创 2025-05-30 10:41:42 · 612 阅读 · 0 评论 -
02 | Hadoop组成
1)Sqoop:Sqoop是一款开源的工具,主要用于在Hadoop、Hive与传统的数据库(MySQL)间进行数据的传递,可以将一个关系型数据库(例如 :MySQL,Oracle 等)中的数据导进到Hadoop的HDFS中,也可以将HDFS的数据导进到关系型数据库中。2)Flume:Flume是一个高可用的,高可靠的,分布式的海量日志采集、聚合和传输的系统,Flume支持在日志系统中定制各类数据发送方,用于收集数据;7)Hbase:HBase是一个分布式的、面向列的开源数据库。1.6 大数据技术生态体系。原创 2025-05-31 19:31:46 · 219 阅读 · 0 评论 -
Hadoop小文件问题及治理方案
建议根据业务场景选择组合方案,例如实时场景采用Kafka+流处理引擎攒批,离线场景使用Compaction策略+定时合并任务。治理后典型收益:某电商平台优化后NameNode内存下降60%,Hive查询速度提升3-8倍。原创 2025-05-27 11:20:54 · 1023 阅读 · 0 评论 -
20 | Yarn常用命令
(2)根据Application状态过滤:yarn application -list -appStates (所有状态:ALL、NEW、NEW_SAVING、SUBMITTED、ACCEPTED、RUNNING、FINISHED、FAILED、KILLED)(2)打印ApplicationAttemp状态:yarn applicationattempt -status。(1)列出所有Application尝试的列表:yarn applicationattempt -list。原创 2025-06-01 13:14:10 · 485 阅读 · 0 评论 -
Hadoop架构与核心模块解析
Hadoop通过分层架构实现了存储(HDFS)、资源管理(YARN)与计算(MapReduce等)的分离,兼具高扩展性和容错性。其生态系统丰富,支持多样化的大数据处理场景,成为大数据领域的基石技术。Hadoop的架构是一个分布式系统,旨在高效存储和处理大规模数据。其核心设计包括分层组件,各司其职,协同工作。:解耦资源管理与作业调度,支持多计算框架(如MapReduce、Spark)。:高容错性、高吞吐量、支持海量数据存储。原创 2025-05-26 11:35:55 · 785 阅读 · 0 评论 -
16 | Hadoop序列化
Java的序列化是一个重量级序列化框架(Serializable),一个对象被序列化后,会附带很多额外的信息(各种校验信息,Header,继承体系等),不便于在网络中高效传输。然而序列化可以存储“活的”对象,可以将“活的”对象发送到远程计算机。(7)如果需要将自定义的bean放在key中传输,则还需要实现Comparable接口,因为MapReduce框中的Shuffle过程要求对key必须能排序。序列化就是把内存中的对象,转换成字节序列(或其他数据传输协议)以便于存储到磁盘(持久化)和网络传输。原创 2025-06-01 13:05:31 · 317 阅读 · 0 评论 -
12 | HDFS的读写流程
(7)客户端开始往dn1上传第一个Block(先从磁盘读取数据放到一个本地内存缓存),以Packet为单位,dn1收到一个Packet就会传给dn2,dn2传给dn3;(1)客户端通过DistributedFileSystem向NameNode请求下载文件,NameNode通过查询元数据,找到文件块所在的DataNode地址。(5)客户端通过FSDataOutputStream模块请求dn1上传数据,dn1收到请求会继续调用dn2,然后dn2调用dn3,将这个通信管道建立完成。(重复执行3-7步)。转载 2025-05-31 19:44:25 · 306 阅读 · 0 评论 -
19 | Yarn资源调度器
第12步:MR向两个接收到任务的NodeManager发送程序启动脚本,这两个NodeManager分别启动MapTask,MapTask对数据分区排序。第13步:MrAppMaster等待所有MapTask运行完毕后,向RM申请容器,运行ReduceTask。(13)MrAppMaster等待所有MapTask运行完毕后,向RM申请容器,运行ReduceTask。第5步:Client提交完资源后,向RM申请运行MrAppMaster。第15步:程序运行完毕后,MR会向RM申请注销自己。原创 2025-06-01 13:13:04 · 446 阅读 · 0 评论 -
Hadoop Join实现原理详解
Hadoop 的 Join 实现本质是通过键的关联性和数据分布策略完成多数据集的合并。Reduce-side Join 依赖 Shuffle 实现通用性,而 Map-side Join 通过内存优化提升性能。实际应用中需根据数据规模、集群资源和业务需求选择最优策略。原创 2025-05-28 10:11:23 · 287 阅读 · 0 评论
分享