苏州网站建设制作,seo优化的主要任务包括,wordpress评论时选填,公司网站建设设计如何收费1.1HDFS产出背景及定义 HDFS 产生背景 随着数据量越来越大#xff0c;在一个操作系统存不下所有的数据#xff0c;那么就分配到更多的操作系统管理的磁盘中#xff0c;但是不方便管理和维护#xff0c;迫切需要一种系统来管理多台机器上的文件#xff0c;这就是分布式文件…1.1HDFS产出背景及定义 HDFS 产生背景 随着数据量越来越大在一个操作系统存不下所有的数据那么就分配到更多的操作系统管理的磁盘中但是不方便管理和维护迫切需要一种系统来管理多台机器上的文件这就是分布式文件管理系统。HDFS 只是分布式文件管理系统中的一种。 HDFS 定义 HDFS (Hadoop Distributed File System)它是一个文件系统用于存储文件通过目录树来定位文件其次它是分布式的由很多服务器联合起来实现其功能集群中的服务器有各自的角色。 HDFS 的使用场景: 适合一次写入多次读出的场景且不支持文件的修改。适合用来做数据分析并不适合用来做网盘应用。
1.2HDFS优缺点
1.2.1优点
1高容错性
数据自动保存多个副本。它通过增加副本的形式提高容错性 某一个副本丢失以后它可以自动恢复。 2适合处理大数据 数据规模能够处理数据规模达到GB、TB、甚至PB级别的数据 文件规模能够处理百万规模以上的文件数量数量相当之大。
3可构建在廉价机器上通过多副本机制提高可靠性
1.2.2缺点
1不适合低延时数据访问比如毫秒级的存储数据是做不到的。
2无法高效的对大量小文件进行存储 存储大量小文件的话它会占用NameNode大量的内存来存储文件目录和块信息。这样是不可取的因为NameNode的内存总是有限的; 小文件存储的寻址时间会超过读取时间它违反了HDFS的设计目标。
3不支持并发写入、文件随机修改 一个文件只能有一个写不允许多个线程同时写 仅支持数据append (追加) 不支持文件的随机修改。
1.3HDFS组成架构 1NameNode (nn) :就是Master它是一个主管、管理者。 管理HDFS的名称空间 配置副本策略 管理数据块(Block)映射信息 处理客户端读写请求。
2DataNode: 就是Slave。NameNode下达命令DataNode执行实际的操作。 存储实际的据块 执行数据块的读/写操作
3Client: 就是客户端
文件切分。文件上传HDFS的时候client将文件切分成一个一个的Block然后进行上传;与NameNode交互获取文件的位置信息;与DataNode交互读取或者写入数据Client提供一些命今来管理HDFS比如NameNode格式化;Client可以通过一些命今来访问HDFS比如对HDFS增删查改操作
4SecondaryNameNode: 并非NameNode的热备。当NameNode挂掉的时候它并不能马上替换NameNode并提供服务. 辅助NameNode分担其工作量比如定期合并Fsimage和Edits并推送给NameNode; 在紧急情况下可辅助恢复NameNode。
1.4HDFS文件块大小面试重点
1.4.1HDFS文件块大小
HDFS中的文件在物理上是分块存储Block块的大小可以通过配置参数dfs.blocksize来规定默认大小在Hadoop2.x和Hadoop3.x版本中是128M老版本Hadoop1.x中是64M。 1.4.2HDFS文件块大小设置原理
HDFS文件块大小设置主要取决于磁盘传输速率目前通过Namenode对HDFS元数据进行寻址的时间约为10ms即查找到目标block的时间为10ms。
寻址时间为传输时间的1%时则为最佳状态
因此传输时间为10ms/0.011000ms1s
目前磁盘的传输速率普遍为100MB/s
因此block大小为1s*100MB/s100MB
因为电脑底层数据采用二进制存储所以目前的block块官方大小设置为128MB。
总结HDFS文件块大小设置主要取决于磁盘传输速率生产中采用高速磁盘作为存储介质的可以考虑在HDFS的配置文件中设置dfs.blocksize参数调整block块大小。
1.4.3块大小要设置合理
HDFS的块设置太小会增加寻址时间程序一直在找块的开始位置
如果块设置的太大从磁盘传输数据的时间会明显大于定位这个块开始位置所需的时间。导致程序在处理这块数据时会非常慢。