大数据技术原理与应用作业三
1. 试述分布式文件系统设计的需求。
分布式文件系统的设计目标主要包括透明性、并发控制、可伸缩性、容错以及安全需求等。但是,在具体实现中,不同产品实现的级别和方式都有所不同。下面是具体指标的含义:
**透明性:**具备访问透明性、位置透明性、性能和伸缩透明性。访问透明性是指用户不需要专门区分哪些是本地文件,哪些是远程文件,用户能够通过相同的操作来访问本地文件和远程文件资源。位置透明性是指在不改变路径名的前提下,不管文件副本数量和实际存储位置发生何种变化,对用户而言都是透明的,用户不会感受到这种变化,只需要使用相同的路径名就始终可以访问同一个文件。性能和伸缩透明性是指系统中节点的增加或减少以及性能的变化对用户而言是透明的,用户感受不到什么时候一个节点加入或退出了
**并发控制:**客户端对于文件的读写不应该影响其他客户对同一个文件的读写
**文件复制:**一个文件可以拥有在不同位置的多个副本
**硬件和操作系统的异构性:**可以在不同的操作系统和计算机上实现同样的客户端和服务器端程序
**可伸缩性:**支持节点的动态加入或退出
**容错:**保证文件服务在客户端或者服务端出现问题的时候能正常使用
**安全:**保障系统的安全性
2. 分布式文件系统是如何实现较高水平扩展的?
分布式文件系统的特殊的物理结构以至于实现高水平扩展。
分布式文件系统在物理结构上是由计算机集群中的多个节点构成的。这些节点分为两类:一类叫主节点,或者也称为名称节点;另一类叫做从节点,或者也称为数据节点。名称节点负责文件和目录的创建、删除和重命名等,同时管理着数据节点和文件块的映射关系,因此客户端只有访问名称节点才能找到请求的文件块所在的位置,进而到相应位置读取所需文件块。数据节点负责数据的存储和读取,在存储时,由名称节点分配存储位置,然后由客户端把数据直接写人相应数据节点;在读取时,客户端从名称节点获得数据节点和文件块的映射关系,然后就可以到相应位置访问文件块。数据节点也要根据名称节点的命令创建、删除数据块和冗余复制。
3. 试述HDFS中的块和普通文件系统中块的区别。
在传统的文件系统中,为了提高磁盘读写效率,一般以数据块为单位,而不是以字节为单位。
HDFS同样也采取了块的概念,默认一个块的大小为128