济南Java培训
达内济南山大路中心

17156168575

热门课程

Java-Hadoop分布式文件系统原理分析

  • 时间:2017-11-04
  • 发布:济南Java培训
  • 来源:济南Java培训

    随着移动互联网的兴起,以Java技术为后台的互联网技术占据了市场的主导地位,而在Java互联网后台开发中,SSM框架(Spring Spring MVC MyBatis)成为了主要架构.

    济南Java培训开设java、php、UI、web前端、网络营销等课程,美国上市公司,年培训学员10万余人次,凭借雄厚的技术研发实力,过硬的教学质量,成熟的就业服务团队,为学员提供强大的职业竞争力,在用人单位中树立良好的口碑.
济南Java培训
    在现代的企业环境中,单机容量往往无法存储大量数据,需要跨机器存储.统一管理分布在集群上的文件系统称为分布式文件系统.而一旦在系统中,引入网络,就不可避免地引入了所有网络编程的复杂性,例如挑战之一是如果保证在节点不可用的时候数据不丢失.

    Hadoop分布式文件系统(HDFS)是一种被设计成适合运行在通用硬件上的分布式文件系统.HDFS是一个高度容错性的系统,适合部署在廉价的机器上.它能提供高吞吐量的数据访问,非常适合大规模数据集上的应用.要理解HDFS的内部工作原理,首先要理解什么是分布式文件系统.

    多台计算机联网协同工作(有时也称为一个集群)就像单台系统一样解决某种问题,这样的系统我们称之为分布式系统.

    分布式文件系统是分布式系统的一个子集,它们解决的问题就是数据存储.换句话说,它们是横跨在多台计算机上的存储系统.存储在分布式文件系统上的数据自动分布在不同的节点上.

    分布式文件系统在大数据时代有着广泛的应用前景,它们为存储和处理来自网络和其它地方的超大规模数据提供所需的扩展能力.

    NameNode(NN)

    NameNode主要功能:接受客户端的读写服务

    NameNode保存metadata信息包括:

    文件ownership和permission

    文件包含哪些块

    Block保存在哪个DataNode(由DataNode启动时上报)

    NameNode的metadata信息在启动后会加载到内存

    metadata储存到磁盘文件名为"fsimage"

    Block的位置信息不会保存到fsimage

    edits记录对metadata的操作日志

    SecondNameNode(SNN)

    济南Java培训开设java、php、UI、web前端、网络营销等课程,美国上市公司,年培训学员10万余人次,凭借雄厚的技术研发实力,过硬的教学质量,成熟的就业服务团队,为学员提供强大的职业竞争力,在用人单位中树立良好的口碑.

    它不是NN的备份(但可以做部分备份),它的主要工作是帮助NN合并edits log,减少NN启动时间.

    SNN执行合并实际

    根据配置文件设置的时间间隔fs.checkpoint.period默认3600秒

    根据配置文件设置edits log大小fs.checkpoint.size贵的edits文件的最大值默认是64MB

    DataNode(DN)

    储存数据(Block)

    启动DN线程的时候回向NN回报block信息

    通过向NN发送心跳保持与其保持联系(3秒一次),如果NN 10分钟没有收到DN的心跳,则认为其已经lost,并copy其上的block到其它的DN

    Block的副本放置策略

    第一个副本:放置在上传文件的DN;如果是集群外提交,则随机挑选一台磁盘不太慢,CPU不太忙的节点

    第二个副本:放置在第一个副本不同的机架的节点上(以免同一个机架断电)

    第三个副本:与第二个副本相同机架的节点

    更多副本:随机节点

    HDFS文件权限

    与Linux文件权限类似

    r:read;w:write;x:execute,权限x对于文件忽略,对于文件夹表示是否允许访问其内容

    与Linux系统用户zhangsan使用hadoop命令创建一个文件,那么这个文件在HDFS中owner就是zhangsan

    HDFS的权限目的:阻止好人做错事,而不是阻止坏人做坏事.HDFS相信,你告诉我你是谁,我就认为你是谁

    济南Java培训开设java、php、UI、web前端、网络营销等课程,美国上市公司,年培训学员10万余人次,凭借雄厚的技术研发实力,过硬的教学质量,成熟的就业服务团队,为学员提供强大的职业竞争力,在用人单位中树立良好的口碑.

济南Java培训

上一篇:使用Mycat后会遇到的常见问题
下一篇:java自学容易吗?

论码农到工程师的进阶

成为伟大程序员的 10 大要点

如何进阶为30W年薪的Java程序员

论培训与自学java的区别

选择城市和中心
贵州省

广西省

海南省