Hadoop 基础之 HDFS 入门

栏目: 服务器 · 发布时间: 5年前

内容简介:本文主要介绍了 HDFS 的体系架构以及其执行流程,并给出了读写操作的编程实例,希望对 HDFS 有个初步的认识。HDFS (Hadoop Distributed File System) 是一个运行在商业 PC 上的分布式文件系统,其设计思想源自于 Google 2003 年发布的论文上图表明 HDFS 是一个标准的 master/slave 架构,主要由三个部分构成:

本文主要介绍了 HDFS 的体系架构以及其执行流程,并给出了读写操作的编程实例,希望对 HDFS 有个初步的认识。

简介

HDFS (Hadoop Distributed File System) 是一个运行在商业 PC 上的分布式文件系统,其设计思想源自于 Google 2003 年发布的论文 The Google File System 。HDFS的主要目的是为了解决大规模数据存储和管理的问题。

体系架构

Hadoop 基础之 HDFS 入门

上图表明 HDFS 是一个标准的 master/slave 架构,主要由三个部分构成:

  1. NameNode(master 节点)
    • 元数据(MetaData)的管理,其中元数据由 文件路径名数据块ID 以及 存储位置 等信息构成
    • 管理 HDFS 的名字空间。
  2. SecondaryNameNode
    • 定期合并 NameNode 的 edit logs(对文件系统的改动序列) 到 fsimage(对整个文件系统的快照),并拷贝修改后的 fsimage 到 NameNode。
    • 提供一个 NameNode 的检查点(切忌认为是 NameNode 的备份),可用于 NameNode 的故障恢复。
  3. DataNode(slave 节点)
    • 提供文件存储和进行数据块操作。
    • 周期性的向 NameNode 汇报块信息。

这里对图中出现的一些概念进行说明:

  1. Replication(副本)

    为了保证数据的高可用,HDFS 会对写入的数据进行冗余存储,默认情况下会保存 3 份。

  2. Blocks

    Block 是最基本的存储和操作单位(默认情况下为 128M),这里的 Block 不是指物理 Block ,而是指文件系统的 Block,其大小一般是物理 Block 的整数倍。

执行流程

读文件

Hadoop 基础之 HDFS 入门

读文件的过程可以概括为:

  1. Client 向 NameNode 发起请求获取文件数据块位置信息
  2. Client 按照数据块距 Client 的远近依次进行连接然后读取数据

写文件

Hadoop 基础之 HDFS 入门

写文件的过程可以概括为:

  1. Client 向 NameNode 发起写文件的请求获得可写的 DataNode 列表等信息
  2. Client 根据 HDFS 设定的分块大小对文件进行分块
  3. Client 和 NameNode 分配的 DataNode 构成 pipeline 并进行数据写入
  4. 写入完成之后,NameNode 接收来自 DataNode 的消息进行元数据的更新

常用命令

文件操作

  1. 列出文件

    hdfs dfs -ls <path>
    复制代码
  2. 创建目录

    hdfs dfs -mkdir <path>
    复制代码
  3. 上传文件

    hdfs dfs -put <localsrc> <dst>
    复制代码
  4. 输出文件内容

    hdfs dfs -cat <src>
    复制代码
  5. 文件复制到本地

    hdfs dfs -get <src> <localdst>
    复制代码
  6. 删除文件和目录

    hdfs dfs -rm <src>
    hdfs dfs -rmdir <dir>
    复制代码

管理

  1. 查看统计信息

    hdfs dfsadmin -report
    复制代码
  2. 进入和退出安全模式(该模式不允许文件系统有任何修改)

    hdfs dfsadmin -safemode enter
    hdfs dfsadmin -safemode leave
    复制代码

以上所述就是小编给大家介绍的《Hadoop 基础之 HDFS 入门》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

精通正则表达式

精通正则表达式

Jeffrey E. F. Friedl / 余晟 / 电子工业出版社 / 2007 / 75

随着互联网的迅速发展,几乎所有工具软件和程序语言都支持的正则表达式也变得越来越强大和易于使用。本书是讲解正则表达式的经典之作。本书主要讲解了正则表达式的特性和流派、匹配原理、优化原则、实用诀窍以及调校措施,并详细介绍了正则表达式在Perl、Java、.NET、PHP中的用法。 本书自第1 版开始着力于教会读者“以正则表达式来思考”,来让读者真正“精通”正则表达式。该版对PHP的相关内容、Ja......一起来看看 《精通正则表达式》 这本书的介绍吧!

JS 压缩/解压工具
JS 压缩/解压工具

在线压缩/解压 JS 代码

RGB转16进制工具
RGB转16进制工具

RGB HEX 互转工具

正则表达式在线测试
正则表达式在线测试

正则表达式在线测试