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 入门》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

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

你不是个玩意儿

你不是个玩意儿

杰伦·拉尼尔 / 葛仲君 / 中信出版社 / 2011-8 / 35.00元

“你不是个玩意儿。” 这句话当然不是骂人,这是一个宣言。人当然不是玩意儿,不是机器,而是人。 在网络化程度越来越高的今天,我们每个人似乎都有足够的理由,无限欣喜地拥抱互联网。然而,你有没有想过互联网那些不完美的设计却是某种潜在的威胁…… 为什么如此多的暴民在社交网站上争吵不休,很多骂人的脏话我们在现实的人际交往中可能从来不会使用,但在匿名网络环境中却漫天飞舞? 互联网的本质......一起来看看 《你不是个玩意儿》 这本书的介绍吧!

MD5 加密
MD5 加密

MD5 加密工具

UNIX 时间戳转换
UNIX 时间戳转换

UNIX 时间戳转换

RGB CMYK 转换工具
RGB CMYK 转换工具

RGB CMYK 互转工具