Hadoop相关介绍

分布式存储系统HDFS(Hadoop Distributed File System)POSIX

  1. 分布式存储系统
  2. 提供了高可靠、高扩展性和高吞吐率的数据存储服务

分布式计算框架MapReduce

  1. 分布式计算框架(计算向数据移动)
  2. 具有易于编程、高容错性和高扩展性等优点

分布式资源管理框架YARN(Yet Anoter Resource Management)

  1. 负责集群资源的管理和调度

存储模型

  1. 文件线性切割成块(Block):偏移量offset(byte)这也是为啥不能在中间插入数据的原因
  2. Block分散存储在集群节点中
  3. 单一文件Block大小一致,文件与文件可以不一致
  4. Block可以设置副本数,副本数分散在不同节点中(副本数不要超过节点数量)
  5. 文件上传可以设置Block大小和副本数
  6. 已上传的文件Block副本数可以调整,大小不变
  7. 只支持一次写入多次读取,同一时刻只有一个写入者
  8. 可以append追加数据

架构模型

  1. 文件元数据MetaData,文件数据分开存储
    1. 元数据
    2. 数据本身
  2. (主)NameNode节点保存文件元数据:单节点posix
  3. (从)DataNode节点保存文件Block数据:多节点
  4. DataNode与NameNode保持心跳,提交Block列表
  5. HdfsClient与NameNode交互元数据信息
  6. HdfsClient与DataNode交互文件Block数据

NameNode(NN)

  1. 基于内存存储
    1. 只存在内存中
    2. 持久化
  2. NameNode主要功能
    1. 接受客户端的读写服务
    2. 收集DataNode汇报的Block列表信息
  3. NameNode保持metadata信息包括
    1. 文件owership和permissions
    2. 文件大小,时间
    3. (Block列表:Block偏移量),位置信息
    4. Block每副本位置(由DataNode上报)

NameNode持久化

  1. NameNode的metadata信息在启动后会加载到内存
  2. metadata存储到磁盘文件名为“fsimage”
  3. Block的位置不会保存到fsimage
  4. edits记录对metadata的操作日志

DataNode(DN)

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

HDFS优点

  1. 高容错性
    1. 数据自动保存多个副本
    2. 副本丢失后,自动恢复
  2. 适合批处理
    1. 移动计算而非数据
    2. 数据位置暴露给计算框架(Block偏移量)
  3. 适合大数据处理
    1. GB、TB、甚至PB级数据
    2. 百万规模以上的文件数量
    3. 10K + 节点
  4. 可构建在廉价机器上
    1. 通过多副本提高可靠性
    2. 提供了容错和恢复机制

HDFS缺点

  1. 低延迟数据访问
    1. 比如毫秒级
    2. 低延迟与高吞吐率
  2. 小文件存取
    1. 占用NameNode大量内存
    2. 寻道时间超过读取时间
  3. 并发写入、文件随机修改
    1. 一个文件只能有一个写者
    2. 仅支持append

SecondaryNameNode(SNN)

  1. 它不是NN的备份(但可以做备份),它的主要工作是帮助NN合并edits log,减少NN启动时间
  2. SNN执行合并时间
    1. 根据配置文件设置的时间间隔fs.checkpoint.period默认3600秒
    2. 根据配置文件设置edits log大小fs.checkpoint.size规定edits文件的最大值默认是64MB
SNN合并流程

Block的副本放置策略

  1. 第一个副本:放置在上传文件的DN;如果是集群外提交,则随机挑选一台磁盘不太满的,CPU不太忙的节点
  2. 第二个副本:放置在于第一个副本不同的机架的节点上
  3. 第三个副本:与第二个副本相同机架的节点
  4. 更多副本:随机节点
Block副本放置策略

HDFS写流程

  1. Client:
    1. 切分文件Block
    2. 按Block线性和NN获取DN列表(副本数)
    3. 验证DN列表以后更小的单位流式传输数据
      1. 各节点,两两通信确定可用
    4. Block传输结束后
      1. DN向NN汇报Block信息
      2. DN向Client汇报完成
      3. Client向NN汇报完成
    5. 获取下一个Block存放的DN列表
    6. 循环1-5步骤
    7. 最终Client汇报完成
    8. NN会在写流程更新文件状态
HDFS写流程

HDFS读流程

  1. Client
    1. 和NN获取一部分Block副本位置列表
    2. 线性和DN获取Block,最终合并为一个文件
    3. 在Block副本列表中按距离择优选取
HDFS读流程

HDFS文件权限POSIX

  1. 与Linux文件权限类似
    1. r:read; w:write; x:execute
    2. 权限x对于文件忽略,对于文件夹标示是否允许访问其内容
  2. 如果Linux系统用户zhangsan使用hadoop命令创建一个文件,那么这个文件在HDFS中owner就是zhangsan
  3. HDFS的权限目的:阻止好人做错事,而不是防止坏人做坏事。HDFS相信,你告诉我你是谁,我就认为你就是谁

安全模式

  1. namenode启动的时候,首先将映像文件(fsimage)载入内存,并执行编辑日志(edits)中的各项操作
  2. 一旦在内存中成功建立文件系统元数据的映射,则创建一个新的fsimage文件(这个操作不需要SecondaryNameNode)和一个空的编辑日志
  3. 此刻namenode运行在安全模式。即namenode的文件系统对于客户端来说是只读的。(显示目录,显示文件内容等。写、删除、重命名都会失败)
  4. 在此阶段namenode收集各个datanode的报告,当数据块到最小副本数以上时,会被认为是“安全”的,在一定比例(可设置)的数据块被确定为“安全”后,在过若干时间,安全模式结束
  5. 当检测副本数不足的数据块时,该块会被复制直到达到最小副本数,系统中数据块的位置并不是namenode维护的,而是以块列表存储在datanode中
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 205,132评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,802评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,566评论 0 338
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,858评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,867评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,695评论 1 282
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,064评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,705评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 42,915评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,677评论 2 323
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,796评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,432评论 4 322
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,041评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,992评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,223评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,185评论 2 352
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,535评论 2 343

推荐阅读更多精彩内容