当前位置: 首页 > news >正文

Hadoop介绍

一、Hadoop 是什么

Apache Hadoop是 Apache 基金会开源的分布式存储与计算框架,用 Java 编写,适合在廉价服务器集群上处理TB/PB 级海量数据,是大数据时代的核心基础设施Apache Hadoop。

  • 核心设计思想:分而治之、移动计算而非移动数据
  • 起源:2002 年始于 Nutch 搜索引擎项目,受 Google GFS 与 MapReduce 论文启发;2006 年成为独立项目,名字源自 Doug Cutting 儿子的玩具大象。
  • 核心优势:高可靠(多副本)、高扩展(横向加节点)、高容错、低成本

二、核心组件(Hadoop 2.x/3.x)

Hadoop 核心由HDFS、YARN、MapReduce、Common四部分组成Apache Hadoop。

1. HDFS(分布式文件系统)—— 存储核心
  • 作用:解决海量数据分布式存储,支持高吞吐量、大文件(GB~TB)。
  • 架构(主从):
    • NameNode(NN):主节点,存元数据(文件名、目录、块位置映射),不存实际数据;HDFS “大脑”。
    • DataNode(DN):从节点,存实际数据块(默认128MB / 块),定期向 NN 汇报心跳与块状态。
    • SecondaryNameNode(SNN):辅助 NN,定期合并元数据日志,非备机(HA 靠 JournalNode)。
  • 关键机制:多副本(默认 3 份)→ 节点故障不丢数据。
2. YARN(资源调度框架)—— 资源管家
  • 作用:集群资源管理 + 任务调度,支持多计算引擎(MapReduce、Spark、Flink)。
  • 架构:
    • ResourceManager(RM):全局资源调度,分配 CPU / 内存,接收作业提交。
    • NodeManager(NM):节点代理,管理本机资源,启动 / 监控 Container(任务运行容器)。
    • ApplicationMaster(AM):单个作业管家,向 RM 申请资源,与 NM 协作执行任务。
3. MapReduce(分布式计算框架)—— 计算引擎
  • 作用:离线并行计算,将任务拆分为 Map(映射)+ Reduce(归约)两阶段。
    • Map 阶段:数据分片,并行处理,输出中间键值对。
    • Reduce 阶段:汇总相同 key 的中间结果,输出最终结果。
  • 现状:Hadoop 原生计算引擎,离线场景仍用;实时 / 迭代计算多用 Spark/Flink 替代。
4. Hadoop Common
  • 核心工具库,提供配置、日志、序列化、RPC等基础服务,支撑其他组件运行Apache Hadoop。

三、Hadoop 生态系统(常用工具)

  • Hive:SQL 化数据仓库,将 SQL 转为 MapReduce/Spark 任务,降低大数据分析门槛。
  • HBase:分布式 NoSQL 数据库,支持随机实时读写,适合海量结构化数据。
  • Spark:内存计算引擎,比 MapReduce 快 100 倍,支持批处理、流处理、机器学习。
  • Flink:实时计算引擎,高吞吐、低延迟,适合实时数据分析。
  • ZooKeeper:分布式协调服务,用于 NN/HA、RM 选主、配置同步。
  • Sqoop:数据迁移工具,实现 Hadoop 与关系型数据库(MySQL/Oracle)双向导入导出。
  • Flume:日志采集工具,高可靠收集、聚合、传输海量日志数据到 HDFS/HBase。

四、核心工作流程(以文件写入 + MapReduce 为例)

  1. 文件写入 HDFS:客户端切块 → NN 分配 DN 列表 → 数据块并行写入 DN → 副本同步 → NN 记录元数据。
  2. MapReduce 任务运行:作业提交 → RM 分配资源 → AM 启动 Map 任务 → 读取 HDFS 数据 → Map 输出中间结果 → Shuffle 排序 → Reduce 汇总 → 结果写入 HDFS。

五、版本演进

  • 1.x(2011):核心 HDFS + MapReduce,无 YARN,资源调度与计算耦合,扩展性差。
  • 2.x(2013):引入YARN,分离资源管理与计算;支持 HDFS HA(双 NN),解决单点故障。
  • 3.x(2017):性能优化、支持 ** 纠删码(EC)** 替代多副本(节省 50% 存储)、更高 HA 可靠性、容器化支持。

六、应用场景

  • 离线数据分析:日志分析、用户行为分析、数据仓库。
  • 海量数据存储:数据湖、归档存储、非结构化数据(图片 / 视频 / 文档)。
  • 数据挖掘与机器学习:训练海量数据模型。
  • 金融 / 电商:交易日志分析、用户画像、风险控制。

七、优缺点

优点
  • 高可靠:数据多副本,容错性强。
  • 高扩展:可动态增加节点至数千台。
  • 低成本:基于普通 x86 服务器,无需高端硬件。
  • 高吞吐:适合批量处理 TB/PB 级数据。
缺点
  • 延迟高:离线计算,不适合实时场景。
  • 小文件问题:大量小文件消耗 NN 内存,影响性能。
  • 编程门槛:原生 MapReduce 需 Java 编程,Hive 降低门槛但仍有学习成本。

总结

Hadoop 是大数据存储与计算的基石,通过 HDFS 解决海量存储、YARN 统一资源调度、MapReduce 提供离线计算能力,搭配 Hive、Spark、HBase 等工具形成完整生态,广泛应用于企业级大数据处理场景。

http://www.cnnetsun.cn/news/2419183.html

相关文章:

  • 第10节:后端业务基础设施
  • 告别龟速更新!VirtualBox装Ubuntu后,第一步我必改华为云软件源
  • 初创公司如何用Taotoken统一管理多个AI应用接口
  • 基于Circuit Playground的互动冰球:从硬件选型到MakeCode编程全解析
  • 告别Delay!用STM32定时器中断实现LED闪烁与串口打印(CubeMX+HAL库实战)
  • 忘记压缩包密码怎么办?3步找回加密文件的完整免费解决方案
  • 终极指南:如何用Python轻松获取B站评论数据,告别403错误
  • 零编程DIY柔性硅胶霓虹LED灯带:低成本打造专属自拍背景墙
  • AI赋能知识管理:用Obsidian AI Tagger插件实现智能笔记标签化
  • Unity | 从Video Player到动态纹理:揭秘视频播放的底层逻辑与实战优化
  • Python量化交易框架moltfi:从回测到实盘的轻量级解决方案
  • ElevenLabs成年女性语音定制化进阶:如何用Voice Cloning Pro+Fine-tuning Studio实现角色人格建模(含3个已商用IP声纹授权案例)
  • 从高校实验室到个人项目:用USRP B210和GNU Radio搭建你的第一个软件无线电接收站
  • 使用curl命令快速测试Taotoken大模型接口连通性与功能
  • 蓝桥杯备赛别怕DP!用‘爬楼梯’和‘摘花生’两题吃透动态规划五步法(C++代码详解)
  • 基于LangChain与Streamlit构建智能论文阅读助手:从原理到实践
  • 高分七号光学影像预处理实战:从原始数据到0.65米融合影像
  • 网络自动化实战:基于Ansible与Git的脚本化运维架构与CI/CD实践
  • ElevenLabs乌尔都文语音API突然失效?紧急修复指南(含2024.06.12最新Header兼容补丁+Token刷新绕过方案)
  • Clawith:数据工程师必备的开源命令行工具箱,让数据清洗与转换更高效
  • 《阈值扰动动力学》导读版研究报告(科普教育)
  • 从“糊涂账”到“明白账”:我们如何用低代码平台为一家电商公司重构了对账中心?
  • 国产多模态大模型“看懂”世界:视觉问答(VQA)全解析
  • 通过模型广场快速对比与选择适合任务的大模型
  • 2025届必备的降重复率神器推荐榜单
  • 告别手动转换:用InterMol一键搞定LAMMPS到GROMACS的拓扑文件(附LiTFSI/PEO电解质实战)
  • CircuitPython硬件接口编程实战:GPIO、ADC、PWM与舵机控制详解
  • 蜂鸣器驱动全解析:从原理、选型到电路设计与软件实现
  • 基于神经符号AI的数学应用题自动求解,神经符号AI:让机器真正理解数学应用题
  • 嵌入式Linux系统固化:从启动卡制作到eMMC克隆的工程实践