6)HDFS架构

2018-10-25  本文已影响0人  bullion

HDFS定义

HDFS是分布式文件管理系统中的一种


HDFS使用场景

适合一次写入,多次读出的场景,且不支持文件修改


HDFS优缺点

    优点

        1)高容错性

            数据自动保存多个副本,某一个副本丢失后可以自动恢复

        2)适合出列大数据

            数据规模达到GB,TB,甚至PB级别的数据,能处理百万规模以上的文件数量

        3)可构建在廉价的机器上

    缺点

        1)不适合低延时数据访问

        2)无法高校的对大量小文件进行存储

        3)不支持并发写入,文件随机修改

            一个文件只能有一个写,不允许多个线程同时写, 仅支持数据append(追加),不支持文件的随机修改

HDFS组成架构

    1)NameNode(nn)

        管理HDFS的名称空间

        配置副本策略

        管理数据块(Block)映射信息

        处理客户端读写请求

    2)DataNode

        存储实际的数据块

        执行数据块的读写操作

    3)Client

        文件切分,文件上传HDFS的时候Client将文件切分成一个一个的Block,然后进行上传

        与NameNode交互,获取文件的位置信息

        与DataNode交互,读取或写入数据

        Client提供一些命令管理HDFS,比如NameNode格式化

        Client可以通过一些命令来访问HDFS,比如对HDFS增删改查操作

    4)Secondary NameNode

        辅助NameNode,分担其工作量,比如顶起合并Fsimage和Edits,并推送给NameNode

        在紧急情况下可辅助恢复NameNode

HDFS文件块大小

    HDFS文件在物理上是分块存储,块的大小可以通过(dfs.blocksize)来规定,默认hadoop2.x中的大小是128M,老版本是64M,本地是32M

思考:为什么块的大小不能设置太小,也不能设置太大?

    1)HDFS块设置太小,会增加寻址时间,程序一直在找块的开始位置

    2)如果设置太大,从磁盘传输数据的时间会明显大于定位这个块开始位置所需的时间,导致程序在处理块数据时会非常慢

总结:HDFS块的大小设置主要取决与磁盘的传输速率

上一篇下一篇

猜你喜欢

热点阅读