开奖网源码下载Hadoop分布式文件系统

管理网络中开奖网源码下载Q2152876294 论坛:diguaym.com
跨多台计算机存储的文件系统称为分布式文件系统。
HDFS : Hadoop Distributed FileSystem

3.1 HDFS的设计
以流式数据访问模式来存储超大文件,运行于商用硬件集群上。

  • 超大文件
  • 流式数据访问 : 一次写入,多次读取
  • 商用硬件(普通硬件)
  • 高时间延迟的数据访问
    要求低时间延迟数据访问的应用,不适合在HDFS上运行。对于低延迟的数据访问,可以选择HBase
  • 大量的小文件
  • 单用户写入,添加方式修改

3.2 HDFS概念

3.2.1 数据块
块的好处:
1、一个文件的大小可以大于网络中任意一个磁盘的容量。
2、使用抽象块而非整个文件作为存储单元,简化了存储子系统的设计。
3、适合用于数据备份进而提供数据容错能力和提高可用性。

fsck显示块信息。

3.2.2 namenode 和 datanode

namenode管理节点
管理文件系统的命名空间,维护着文件系统树及整颗树内所有的文件和目录。

datanode工作节点
根据需要存储并检索数据块,并且定期向namenode发送它们所存储的块的列表。

3.2.3 块缓存
datanode从磁盘中读取块,访问频繁的文件可能被显示地缓存在datanode的内存中,以堆外块缓存的形式存在。

3.2.4 联邦HDFS
在联邦环境下,每个namenode维护一个命名空间卷,由命名空间的元数据和一个数据块池组成,数据块池包含该命名空间下文件的所有数据块。

3.2.5 HDFS的高可用性
配置了一对活动-备份namenode,当活动namenode失效,备用namenode就会接管它的任务并开始服务于来自客户端的请求,不会有任何明显中断。

3.3 命令行接口
伪分布配置时,有两个属性项需要进一步解释。
1、fs.defaultFS,设置为hdfs://localhost/,用于设置hadoop的默认文件系统。
在localhost默认的HDFS端口8020上运行namenode。
2、dfs.replication,设为1,HDFS就不会按默认设置将文件系统块副本设为3

文件系统的基本操作

3.4 Hadoop文件系统
Hadoop有一个抽象的文件系统概念,HDFS只是其中的一个实现。JAVA抽象类FileSystem定义了Hadoop中一个文件系统的客户端接口,并且该抽象类有几个具体实现。

*接口
通过JAVA API可以调用大部分Hadoop文件系统的交互操作。
1、HTTP
2、c语言
3、NFS
4、FUSE

3.5 Java接口
Hadoop的Filesystem类,是与Hadoop的某一个文件系统进行交互的API。

3.5.1 从Hadoop URL读取数据

3.5.2 通过FileSystem API读取数据

FSDataInputStream对象
FileSystem对象的open()方法返回的是FSDataInputStream对象。

3.5.3 写入数据

  • FSDataOutputStream对象*

3.5.4 目录

3.5.5 查询文件系统

1.文件元数据:FileStatus
FileStatus封装了文件系统中文件和目录的元数据。

2.列出文件

3.文件模式
使通配符筛选文件

4.PathFilter对象

3.5.6 删除数据

3.6 数据流

3.6.1 剖析文件读取

2.6.2 剖析文件写入

3.6.3 一致模型

3.7 通过distcp并行复制

猜你喜欢

转载自blog.51cto.com/13943228/2165390
今日推荐