HDFS的优缺点以及如何存储数据

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

内容简介:HDFS是Hadoop的分布式文件系统,是一个高度容错性的系统,适合运行在通用硬件上,适合部署在廉价的机器上。HDFS能提供高吞吐量的数据访问,非常适合大规模数据集上的应用。1、高容错性数据自动保存多个副本。它通过增加副本的形式,提高容错性。某一个副本丢失以后,它可以自动恢复,这是由 HDFS 内部机制实现的。

HDFS是Hadoop的分布式文件系统,是一个高度容错性的系统,适合运行在通用硬件上,适合部署在廉价的机器上。HDFS能提供高吞吐量的数据访问,非常适合大规模数据集上的应用。

HDFS的优缺点以及如何存储数据

HDFS 具有以下优点

1、高容错性数据自动保存多个副本。它通过增加副本的形式,提高容错性。某一个副本丢失以后,它可以自动恢复,这是由 HDFS 内部机制实现的。

2、适合批处理,是通过移动计算而不是移动数据。它会把数据位置暴露给计算框架。

3、适合大数据处理,处理数据达到 GB、TB、甚至PB级别的数据。能够处理百万规模以上的文件数量,数量相当之大。能够处理10K节点的规模。

4、流式文件访问一次写入,多次读取。文件一旦写入不能修改,只能追加。它能保证数据的一致性。

5、可构建在廉价机器上它通过多副本机制,提高可靠性。它提供了容错和恢复机制。比如某一个副本丢失,可以通过其它副本来恢复。

当然 HDFS 也有它的劣势,并不适合所有的场合

1、低延时数据访问比如毫秒级的来存储数据,这是不行的,它做不到。它适合高吞吐率的场景,就是在某一时间内写入大量的数据。但是它在低延时的情况下是不行的,比如毫秒级以内读取数据,这样它是很难做到的。

2、小文件存储存储大量小文件(这里的小文件是指小于HDFS系统的Block大小的文件(默认64M))的话,它会占用 NameNode大量的内存来存储文件、目录和块信息。这样是不可取的,因为NameNode的内存总是有限的。小文件存储的寻道时间会超过读取时间,它违反了HDFS的设计目标。

3、并发写入、文件随机修改一个文件只能有一个写,不允许多个线程同时写。仅支持数据 append(追加),不支持文件的随机修改。

HDFS的优缺点以及如何存储数据

HDFS 如何储存数据

HDFS 采用Master/Slave的架构来存储数据,这种架构主要由四个部分组成,分别为HDFS Client、NameNode、DataNode和Secondary NameNode。下面我们分别介绍这四个组成部分。

1、Client:就是客户端。文件切分。文件上传 HDFS 的时候,Client 将文件切分成 一个一个的Block,然后进行存储。与 NameNode 交互,获取文件的位置信息。与 DataNode 交互,读取或者写入数据。Client 提供一些命令来管理 HDFS,比如启动或者关闭HDFS。Client 可以通过一些命令来访问 HDFS。

2、NameNode:就是 master,它是一个主管、管理者。管理 HDFS 的名称空间管理数据块(Block)映射信息配置副本策略处理客户端读写请求。

3、DataNode:就是Slave。NameNode 下达命令,DataNode 执行实际的操作。存储实际的数据块。执行数据块的读/写操作。


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

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

Learn Python 3 the Hard Way

Learn Python 3 the Hard Way

Zed A. Shaw / Addison / 2017-7-7 / USD 30.74

You Will Learn Python 3! Zed Shaw has perfected the world’s best system for learning Python 3. Follow it and you will succeed—just like the millions of beginners Zed has taught to date! You bring t......一起来看看 《Learn Python 3 the Hard Way》 这本书的介绍吧!

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

html转js在线工具
html转js在线工具

html转js在线工具

HSV CMYK 转换工具
HSV CMYK 转换工具

HSV CMYK互换工具