Hadoop 初识

Hadoop的前世今生

Google大数据技术

  • MapReduce
  • BigTable
  • GFS

革命性的变化:

  • 成本降低,能用PC机,就不用大型机和高端存储。
  • 软件容错硬件故障视为常态,通过软件保证可靠性
  • 简化并行分布式计算,无需控制节点同步和数据交换

Hadoop的功能与优势

Hadoop是开源的分布式存储和分布式计算平台。

核心组成:

HDFS:分布式文件系统,存储海量的数据

MapReduce:并行处理框架,实现任务分解和调度

功能:

搭建大型数据仓库,PB级数据的存储、处理、分析、统计等业务。

优势:

  • 高扩展
  • 低成本
  • 成熟的生态圈

HDFS 分布式文件系统

HDFS设计架构

  • 块(Block)

    HDFS的文件被分成块进行存储,HDFS块的默认大小为64MB,块是文件存储处理的逻辑单元。

  • NameNode

    管理节点,存放文件元数据:

    • 文件和数据块的映射表
    • 数据块与数据节点的映射表
    image

  • DataNode

    工作节点,,存放数据块。

HDFS中数据管理与容错

  • 数据块副本

    image
  • 心跳检测

    image
  • 二级NameNode

    image

HDFS中文件的读写操作

  • 读取文件的流程

    客户端发起文件读取请求,把文件名、路径告诉NameNode,NameNode查询元数据,根据元数据读取Blocks,下载重装。

  • 写入文件的流程

    文件先拆分为块,NmaeNode找到可用空间,返回DataNodes,然后写入Blocks,写入Blocks时要进行流水线复制,复制完成后更新元数据。

HDFS的特点

  • 数据冗余,硬件容错
  • 流式的数据访问
  • 适合存储大文件

适合数据批量读写,吞吐量高;不适合交互式应用,低延迟很难满足;适合一次写入多次读取,顺序写入;不支持多用户并发写相同文件。

MapReduce 并行处理框架

运行原理

分而治之,一个大任务分成多个小的子任务(map),并行执行后,合并结果(reduce)

运行流程

  • Job & Task

    一个Job(作业)会被分为多个Task(任务),Task可以分为MapTask和ReduceTask

  • JobTracker

    • 作业调度
    • 分配任务、监控任务执行进度
  • TaskTracker

image
image

MapReduce的容错机制

  • 重复执行
  • 推测执行

WordCount执行过程

image

参考

Hadoop大数据平台架构与实践--基础篇

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Zookeeper用于集群主备切换。 YARN让集群具备更好的扩展性。 Spark没有存储能力。 Spark的Ma...
    Yobhel阅读 12,136评论 0 34
  • 终极算法 关注微信号每天收听我们的消息终极算法为您推送精品阅读 前言 Hadoop 在大数据技术体系中的地位至关...
    Yespon阅读 130,857评论 12 168
  • 音频录制完成之后格式为raw格式,但是为了节省服务器空间,一般会将raw格式文件进行压缩MP3本文实现了录音生成本...
    胖头是真的胖阅读 4,531评论 0 4
  • 这个时代的年轻人,不缺高蹈的理想,不缺激动的热情,不缺成功的渴望。 简书有很多这样的年轻人,他们追求梦想,追求自我...
    河东西阅读 5,617评论 44 59
  • 和朋友驾车去一个地方,他问我有这么多条线路,为什么你偏偏要选一条最不方便红绿灯又最多的路线。我说这是因为习惯,因为...
    K先生_阅读 3,276评论 0 1

友情链接更多精彩内容