大数据科普系列(五) HDFS概述

2019年11月06日讲师:朱明虎浏览:1445次

HDFS(Hadoop Distributed File System), Hadoop分布式文件系统,主要用来解决海量数据的存储问题,在大数据系统架构中为各类分布式运算框架(MapReduce、Spark、Tez,Flink等)提供数据存储服务。前面我们已经讲过分布式的存储原理,下面来看看HDFS具体的架构实现:从上图可以看到,HDFS集群有3种角色:a)NameNode:主节点,集群老大,管理整个文件系统的目录树,负责处理客户端读写请求b)SecondaryNameNode:合并元数据,用来帮NameNode分担压力c)DataNode:从节点,存储所有文件的数据块,真正处理数据读写 HDFS中的文件是在物理上进行了分块存储(block),为保证数据安全,每个数据块默认存3份。而数据块的大小可以通过配置参数(dfs.blocksize)来设定,默认值在hadoop2.x版本中是128M,3.x是256M。即一个500M的文件在2.x版本的Hadoop系统中默认会被分成4个块,每个块都是一式三份存在3个不同节点。我们再来了解一下HDFS的优缺点:优点适合大数据处理, GB、TB、甚至 PB 级数据,百万规模以上的文件数量,10K+节点规模被设计用来构建在廉价机器上,通过多副本提高可靠性,提供了容错和恢复机制高容错性,数据自动保存多个副本,副本丢失后,自动恢复流式文件访问,一次性写入,多次读取,保证数据一致性缺点延迟高(涉及到多个节点之间相互通信)不适合存储小文件(因为元数据信息存储在NameNode内存中,一条block元数据信息大约消耗150Byte,存储1亿个block的话就需要大概15GB内存,增加了NameNode的压力,从而降低整个集群的性能)不适合并发写入、随机修改场景,因为HDFS是采用追加的方式写入数据最后再向大家介绍几个常用的HDFS Shell指令:查看文件:hadoop fs -ls hdfs路径 上传文件:hadoop fs -put 本地路径 hdfs路径 下载文件:hadoop fs -get hdfs路径创建文件夹:hadoop fs -mkdir hdfs路径 查看文件内容:hadoop fs -cat hdfs路径删除文件(夹):hadoop fs –rm –r hdfs路径自此,相信大家对于HDFS已经有了进一步的体会,我们下期再会!
分享 0

您已经赞过了!