美文网首页
Hadoop介绍——HDFS

Hadoop介绍——HDFS

作者: 南宫萧言 | 来源:发表于2019-05-30 21:19 被阅读0次

    Hadoop作者Doug cutting,就职Yahoo期间开发Hadoop项目,目前在Cloudera 公司从事架构工作。

    •Hadoop简介hadoop官网

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

                    • 分布式存储系统

                    • 提供了 高可靠性、高扩展性和高吞吐率的数据存储服务

     –分布式计算框架MapReduce

                    • 分布式计算框架(计算向数据移动)

                    •具有 易于编程、高容错性和高扩展性等优点。

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

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

    1.hadoop的分布式文件系统(HDFS)

    •架构模型:

          –文件元数据MetaData,文件数据 

              •元数据

              •数据本身

          –(主)NameNode节点保存文件元数据:单节点  posix

          –(从)DataNode节点保存文件Block数据:多节点

          –DataNode与NameNode保持心跳,提交Block列表

          –HdfsClient与NameNode交互元数据信息

          –HdfsClient与DataNode交互文件Block数据

    HDFS架构 文本放置思想

    •存储模型:

    HDFS存储模型

    NameNode:

    •NameNode持久化

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

          –metadata存储到磁盘文件名为”fsimage”

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

          –edits记录对metadata的操作日志。。。redis

    DataNode:

    HDFS的优点:

    优点 缺点

    HDFS是比较常用的分布式文件系统,适合大文件的存储,如果文件过小会造成寻找不同文件所带了的时间和空间的麻烦!!

    Secondary NameNode

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

       –SNN执行合并时机

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

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

    SNN帮助NN合并edits log的过程

    Block的副本放置策略:

    副本存放策略

    HDFS写操作

    由客户端写文件到HDFS

    由于block是固定大小的,不能调整期其大小,所以hdfs不支持文件修改。
    HDFS读操作

    HDFS读操作

    •HDFS读流程

       –Client:

          •和NN获取一部分Block副本位置列表

          •线性和DN获取Block,最终合并为一个文件

          •在Block副本列表中按距离择优选取

    client写,读操作过程

    HDFS文件权限

    –与Linux文件权限类似

    •r: read; w:write; x:execute

    •权限x对于文件忽略,对于文件夹表示是否允许访问其内容

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

    安全模式
    总结

    HDFS安装

        –伪分布式安装

        –完全分布式安装

          •下载

          •解压    tar -zxvf  压缩包  路径

          •检查java和ssh的免密码登陆

              –环境变量JAVA_HOME

              –. /etc/profile   最后记得source下profile文件   或者 ~/.bashrc  都是设置环境变量的文件

              -免密登陆(通过一个结点可以登录集群的所有的结点)

               –ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa     (生成本节点的授权码)

               –cat ~/.ssh/id_dsa.pub >>~/.ssh/authorized_keys  (添加到authorized_keys中)

               –scp ~/.ssh/id_dsa.pub root@node02:`pwd`/node01.pub (拷贝到别的结点中)

               –cat node01.pub >> ~/.ssh/authorized_keys   (添加到其他结点的authorized_keys中)

          •修改core-site.xml

          •修改hdfs-site.xml

          •修改masters文件和slaves文件   slaves文件主要配置datanode节点列表

          •格式化namenode      命令为:hdfs  dfs namenode -format  格式化主要是为了fsimage,version的统一化。

          •Start-hdfs.sh启动

    具体搭建环境参考Hadoop的指导手册,不同的版本略有差异。

    相关文章

      网友评论

          本文标题:Hadoop介绍——HDFS

          本文链接:https://www.haomeiwen.com/subject/yoyytctx.html