- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
大数据_hadoop_分布式文件系统
Hadoop分布式文件系统——HDFS详解;Hadoop的文件系统
HDFS简介
HDFS体系结构
HDFS的基本操作
HDFS常用Java API详解
HDFS中的读写数据流
HDFS命令详解;1.何为分布式文件系统?;一、Hadoop文件系统;(1)Hadoop提供了许多文件系统的接口,用户可以选取合适的文件系统实现交互。例如,可以通过命令行接口和HDFS 文件系统进行交互:
比如,列出本地文件系统根目录下的文件,执行以下shell命令即可:
hadoop fs -ls file:///
(2)运行的MapReduce程序可以访问以上任何文件系统,但是在处理大数据集时,需要选择一个具有数据本地化优化的分布式文件系统,常用的如HDFS或KFS。
注:Hadoop在存储有输入数据(如,HDFS中的数据)的节点上运行map任务时可以获得最佳性能,这就是数据本地化优化。;2.Hadoop文件系统的接口
Hadoop 使用Java编写的,通过 Java API 可以调用所有Hadoop 文件系统的交互操作。
例如,HDFS的命令解释器就是一个Java应用,它使用Java的FileSystem类来提供文件系统操作。
(1)Thrift
Hadoop 文件系统的接口是通过Java API 提供的,所以其他非Java 应用程序访问 Hadoop 文件系统会比较麻烦。
Thrift分类单元中的 Thrift API 通过把 Hadoop 文件系统包装一个Apache Thrift 服务来弥补这个不足,从而使任何具有Thrift 绑定(binding)的语言都能轻松地与Hadoop 文件系统(比如HDFS)进行交互。;要Thrift API,首先要运行提供Thrift服务的Java服务器,并以代理的方式访问Hadoop文件系统。
注:Thrift API 包含很多其他语言生成的stub(存根),包括C++、Perl、PHP、Python等。
(2)C语言
Hadoop提供了一个C语言库—libhdfs,该语言库是Java
FileSystem接口类的一个镜像,它被编写成访问HDFS的C语言库。
(3)FUSE
用户空间文件系统(Filesystem in Userspace,FUSE)允许文件系统整合为一个Unix文件系统并在用户空间中执行。;通过使用Hadoop的Fuse-DFS 功能模块,任意一个Hadoop文件系统(一般为HDFS)都可以作为一个标准文件系统进行挂载;便可以使用UNIX的工具(如,ls和cat)与该文件系统交互,还可以通过任意一种编程语言使用POSIX库来访问文件系统。
注:Fuse—DFS是用C语言实现的,可以使用libhdfs 作为HDFS 的接口。
(4)WebDAV
WebDAV是???系列支持编辑和更新文件的HTTP的扩展。
在大部分操作系统中,WebDAV共享都可以作为文件系统进行挂载,因此通过WebDAV向外提供HDFS(或其他Hadoop文件系统)的访问接口,可以将HDFS作为一个标准的文件系统进行访问。;(5)HDFS特定的接口
HTTP:HDFS定义了一个只读接口,它以HTTP方式检索目录列表和数据。
嵌入在namenode运行在50070端口的Web服务器,以XML格式提供目录列表服务;而嵌入在datenode运行在50075端口的Web服务器,提供文件数据传输服务。
用户可以利用HTTP协议编写从不同版本的 Hadoop HDFS 集群中读取数据的客户端。HFTP FileSystem就是其中一种:
它是一个通过HTTP协议与 HDFS交互的Hadoop文件系统接口。
FTP
HDFS还有一个FTP接口,该接口允许使用FTP协议与HDFS进行交互,即使用FTP客户端和 HDFS进行交互。;二、HDFS简介;(3)运行于廉价的商用机器集群上
Hadoop设计对硬件需求比较低,只需运行在廉价的商用硬件集群上。但这也意味着对于庞大的集群,节点出现故障的概率非常高,因此在设计HDFS是需要充分考虑数据的可靠性、安全性和高可用性。
(4)硬件故障
硬件故障是常态,而不是异常。整个HDFS系统由大量存储着文件数据片断的服务器组成,每个组成部分都很可能出现故障,因此,故障的检测和自动快速恢复是HDFS一个很核心的设计目标。
3.HDFS的局限性:
(1)不适合低延迟数据访问;HDFS是为了处理大型数据集分析任务,主要是为了达到高的数据吞吐量而设计的,这就要求可能以高延迟为代价。
注:对于低延迟的访问需求,HBase是更好地选择。
(2)无法高效存储大量小文件
Hadoop中由namenode负责将文件系统中的元数据存储在内存中,因此文件系统存储的文件总数受限于namenode的内存容量。当存储大量的小
您可能关注的文档
最近下载
- 提高择期手术患者术前准备完善率医院护理品管圈QCC成果汇报PPT(完整版本易修改).pptx VIP
- B-65522CM_01-αi-B βi-B 伺服电机规格.pdf VIP
- 采购部员工年终总结.pptx VIP
- 《老年人能力评估从业人员培训指南》.pdf
- 二年级道德与法治上册-全册教案-新人教版.pdf VIP
- 投资项目风险因素识别核对表.docx
- CAAC无人机理论考试题库(2025修订版)含答案.docx VIP
- DB11∕T 512-2024 建筑装饰工程石材应用技术规程.pdf
- Unit1 单元整体教学设计-小学英语五年级上册(人教PEP版).docx VIP
- CAAC无人机理论考试题库(2025修订版)含答案.docx VIP
文档评论(0)