• HDFS学习记录


    1、HDFS只是分布式文件管理系统的一种。

    2、HDFS (Hadoop Distributed File System),它是一个文件系统,用于存储文件,通过目录树
    来定位文件;其次,它是分布式的,由很多服务器联合起来实现其功能,集群中的服务器有各
    自的角色。
    HDFS的使用场景:适合-一次写入,多次读出的场景,且不支持文件的修改。适合用来做数
    据分析,并不适合用来做网盘应用。

    3、HDFS的优点:

    高容错性(数据自动保存多个副本,通过增加副本的形式来提高容错性,当一个副本丢失的时候回自动回复)

    适合处理大数据:(数据规模:能够处理数据规模达到GB、TB、甚至PB级别的数据; .文件规模:能够处理百万规模以上的文件数量,数量相当之大。)

    可以构建在联机的机器上。通过多副本机制,提高可靠性

    4、HDFS的缺点:

    不适合低延时数据访问,比如毫秒级的存储数据,是做不到的。

    无法高效的对大量小文件进行存储。(存储大量小文件的话,它会占用NameNode大量的内存来存储文件目录和块信息。这样是不可取的,因为NameNode的内存总是有限的;小文件存储的寻址时间会超过读取时间,它违反了HDFS的设计目标。)

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

    5、HDFS的组成架构:

    Namenode就是master他的主管、管理者(管理HDFS的名称空间、配置副本策略、管理数据块、映射信息、处理客户端读写请求)

    Datanode就是slave,namenode下达命令DataNode执行命令(存储实际的数据块、执行数据块的读写操作)

    client就是客户端:(文件切分。文件上传HDFS的时候, Client将文件切分成- -个- 一个的Block,然后进行上传;与NarneNode交互, 获取文件的位置信息;与DataNode交互, 读取或者写入数据; Client提供一 些命令来管理HDFS ,比如NameNode格式化;Client可以通讨一 些命今来访问HDFS .比如对HDFS增删吉改操作:

    Secondauy NameNode:并非NameNode的热备。当NameNode挂掉的时候, 它并不
    能马_上替换NameNode并提供服务。(辅助NameNode, 分担其工作量,比如定期合并F simage和Edits,并推送给N ameNode ;在紧急情况下,可辅助恢复NameNode。

     6、HDFS文件块的大小:

    HDFS中的文件在物理上是分块存储( Block)块的大小可以通过配置参数( dfs.blocksize)来规定,默认大小在Hadoop2.x版本中是128M,老版本中是64M。(HDFS的块设置太小,会增加寻址时间,程序-直在找块的开始位置)(如果块设置的太大,从磁盘传输数据的时间会明显大于定位这个块开始位置所需的时间。导致程序在处理这块数据时,会非常慢。

    7、HDFS的SHELL操作基本语法

     8、命令大全:

    [atguigu@hadoop102 hadoop-2.7.2]$ bin/hadoop fs
    
    [-appendToFile <localsrc> ... <dst>]
            [-cat [-ignoreCrc] <src> ...]
            [-checksum <src> ...]
            [-chgrp [-R] GROUP PATH...]
            [-chmod [-R] <MODE[,MODE]... | OCTALMODE> PATH...]
            [-chown [-R] [OWNER][:[GROUP]] PATH...]
            [-copyFromLocal [-f] [-p] <localsrc> ... <dst>]
            [-copyToLocal [-p] [-ignoreCrc] [-crc] <src> ... <localdst>]
            [-count [-q] <path> ...]
            [-cp [-f] [-p] <src> ... <dst>]
            [-createSnapshot <snapshotDir> [<snapshotName>]]
            [-deleteSnapshot <snapshotDir> <snapshotName>]
            [-df [-h] [<path> ...]]
            [-du [-s] [-h] <path> ...]
            [-expunge]
            [-get [-p] [-ignoreCrc] [-crc] <src> ... <localdst>]
            [-getfacl [-R] <path>]
            [-getmerge [-nl] <src> <localdst>]
            [-help [cmd ...]]
            [-ls [-d] [-h] [-R] [<path> ...]]
            [-mkdir [-p] <path> ...]
            [-moveFromLocal <localsrc> ... <dst>]
            [-moveToLocal <src> <localdst>]
            [-mv <src> ... <dst>]
            [-put [-f] [-p] <localsrc> ... <dst>]
            [-renameSnapshot <snapshotDir> <oldName> <newName>]
            [-rm [-f] [-r|-R] [-skipTrash] <src> ...]
            [-rmdir [--ignore-fail-on-non-empty] <dir> ...]
            [-setfacl [-R] [{-b|-k} {-m|-x <acl_spec>} <path>]|[--set <acl_spec> <path>]]
            [-setrep [-R] [-w] <rep> <path> ...]
            [-stat [format] <path> ...]
            [-tail [-f] <file>]
            [-test -[defsz] <path>]
            [-text [-ignoreCrc] <src> ...]
            [-touchz <path> ...]
            [-usage [cmd ...]]
    

    大概的流向图:(put和copyfromlocal一样)(get和copytolocal一样)(tail - f进行内容追加)

     

  • 相关阅读:
    查看邵杨的源码
    java 读写excle
    绘图的引擎
    handler的使用
    小结
    周末,啦啦啦
    监控宝发布移动应用监控服务 引领移动APM
    监控宝优化升级 创新驱动用户体验
    云智慧:顺势而为 做世界级APM服务商
    性能为王:云智慧APM助小米IT服务能力提升
  • 原文地址:https://www.cnblogs.com/dazhi151/p/13504456.html
Copyright © 2020-2023  润新知