hadoop学习笔记

一、hadoop四个核心模块

  1. hadoop common
  2. hadoop distributed file system(功能:对数据存储功能的访问)
    分布式存储系统
    提供了 高可靠性、高扩展性和高吞吐率的数据存储服务
  3. hadoop yarn(用于框架和集群管理)
    分布式计算框架(计算向数据移动)
    具有 易于编程、高容错性和高扩展性等优点。
  4. hadoop mapreduce( 实现数据的分析和处理)

hadoop 的思想理念

  • 化整为零(大的文件,按照字节进行切割)
  • 并行计算(将切割的文件,分发到多台服务器,到达分而自治)

二、Hadoop-HDFS

2.1、hadoop 架构模型

  • 文件元数据MetaData,文件数据
    • 元数据
    • 数据本身
  • (主)NameNode节点保存文件元数据:单节点 posix
  • (从)DataNode节点保存文件Block数据:多节点
  • DataNode与NameNode保持持续联通(每隔一段时间,ping一下),提交Block列表
  • HdfsClient与NameNode交互元数据信息
  • HdfsClient与DataNode交互文件Block数据

2.1、存储模型:字节(byte)

  • 文件线性切割成块(Block):偏移量 offset (byte)
  • Block分散存储在集群节点中
  • 单一文件Block大小一致(最后一个切割的大小可以不一样),文件与文件可以不一致
  • Block可以设置副本数(保证数据的完整性,最少三个),副本分散在不同节点中, 副本数不要超过节点数量
  • 文件上传可以设置Block大小(最小1m,最大128m)和副本数
  • 已上传的文件Block副本数可以调整,大小不变
  • 只支持一次写入多次读取,同一时刻只有一个写入者 可以append追加数据

2.3、Block的副本放置策略

第一个副本:放置在上传文件的datanode中;如果是在集群外的话,则随机挑选一台磁盘不太满,CPU不太忙的节点。
第二个副本:放置在于第一个副本不同的机架的节点上。
第三个副本:与第二个副本相同机架的不同节点。
更多副本:随机节点
在这里插入图片描述

2.4、优缺点

HDFS优点:

  • 高容错性
    数据自动保存多个副本
    副本丢失后,自动恢复
  • 适合批处理
    移动计算而非数据
    数据位置暴露给计算框架(Block偏移量)
  • 适合大数据处理
    GB 、TB 、甚至PB 级数据
    百万规模以上的文件数量
    10K+ 节点
    - 可构建在廉价机器上
    通过多副本提高可靠性
    提供了容错和恢复机制
    HDFS缺点:
  • 低延迟数据访问
    比如毫秒级
    低延迟与高吞吐率
  • 小文件存取
    占用NameNode 大量内存
    寻道时间超过读取时间
  • 并发写入、文件随机修改
    一个文件只能有一个写者
    仅支持append

2.5、NN和DN

NameNode(NN)
基于内存存储 :不会和磁盘发生交换
只存在内存中
持久化(NameNode的metadate信息在启动后会加载到内存;
metadata存储到磁盘文件名为”fsimage”;
Block的位置信息不会保存到fsimage

NameNode主要功能:
接受客户端的读写服务
收集DataNode汇报的Block列表信息
NameNode保存metadata信息包括
文件owership和permissions
文件大小,时间
(Block列表:Block偏移量),位置信息
Block每副本位置(由DataNode上报)

DataNode(DN)
本地磁盘目录存储数据(Block),文件形式
同时存储Block的元数据信息文件
启动DN时会向NN汇报block信息
通过向NN发送心跳保持与其联系(3秒一次),如果NN 10分钟没有收到DN的心跳,则认为其已经lost,并copy其上的block到其它DN

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值