知识点补充

HDFS优缺点:

  优点

  (1)高容错性。节点存放的副本比较多。

  (2)适合处理大数据。 GB、TB、PB级别的数据都可以处理。

  (3)可以构建在廉价的机器上,通过多副本机制来提高可靠性。

  缺点

  (1)不是低延时数据的处理,如毫秒级的数据操作(mysql)

  (2)无法高效地对大量小文件进行存储。

    存储大量小文件时会占用NameNode大量的内存来存放文件目录信息和块信息,但是NameNode的内存有限。

    小文件存储的寻址时间会超出他的读取时间,这违反了HDFS的设计。

  (3)不支持并发写入和文件的随机修改。

HDFS的组成(架构)

  NameNode

  (1)管理HDFS的名称空间(2)配置副本策略(3)管理数据块(Block)的映射信息(4)处理客户端的读写操作

  ,SecondaryNameNode,

  DataNode

  (1)存储实际数据块(2)执行数据块的读写操作

  Client

  (1)将用户上传的文件切分为若干个block,然后上传(2)与NameNode进行交互,获取文件的位置信息。

 HDFS文件块Block大小(重点)

  (1)HDFS文件在物理上是以文件块的形式存储的,每个文件块都有大小限制,且文件没有沾满单个文件块不会占用多余的空间。块的大小可由参数dfs.blocksize来进行配置。

  (2)一般文件的寻址时间即为寻找目标块的时间。

  (3)文件的寻址时间为文件传输时间的1%,为最佳状态。

  (4)普通磁盘的传输速率为100MB/s(128MB/s).

  HDFS的块设置太小会增加文件的寻址时间,太大磁盘传数据的时间会明显大于块寻址的时间,程序处理数据会非常慢。

  HDFS块大小设置主要取决于磁盘传输速率。

    

HDFS文件块的更多相关文章

  1. Hadoop HDFS 文件块大小

    HDFS 文件块大小 HDFS中的文件在物理上是分块存储(block),块的大小可以通过配置参数( dfs.blocksize)来规定,默认大小在hadoop2.x版本中是128M,老版本中是64M ...

  2. Hadoop-2.4.0中HDFS文件块大小默认为128M

    134217728 / 1024 = 131072 / 1024 = 128

  3. HDFS 上文件块的副本数设置

    一.使用 setrep 命令来设置 # 设置 /javafx-src.zip 的文件块只存三份 hadoop fs -setrep /javafx-src.zip 二.文件块在磁盘上的路径 # 设置的 ...

  4. Hadoop如何修改HDFS文件存储块大小

    一. 临时修改可以在执行上传文件命令时,显示地指定存储的块大小.1. 查看当前 HDFS文件块大小我这里查看HDFS上的TEST目录下的jdk-7u25-linux-x64.gz  文件存储块大小.1 ...

  5. 【HDFS API编程】查看文件块信息

    现在我们把文件都存在HDFS文件系统之上,现在有一个jdk.zip文件存储在上面,我们想知道这个文件在哪些节点之上?切成了几个块?每个块的大小是怎么样?先上测试类代码: /** * 查看文件块信息 * ...

  6. hdfs fsck命令查看HDFS文件对应的文件块信息(Block)和位置信息(Locations)

    关键字:hdfs fsck.block.locations 在HDFS中,提供了fsck命令,用于检查HDFS上文件和目录的健康状态.获取文件的block信息和位置信息等. fsck命令必须由HDFS ...

  7. hadoop 小文件 挂载 小文件对NameNode的内存消耗 HDFS小文件解决方案 客户端 自身机制 HDFS把块默认复制3次至3个不同节点。

    hadoop不支持传统文件系统的挂载,使得流式数据装进hadoop变得复杂. hadoo中,文件只是目录项存在:在文件关闭前,其长度一直显示为0:如果在一段时间内将数据写到文件却没有将其关闭,则若网络 ...

  8. HDFS 文件读写过程

    HDFS 文件读写过程 HDFS 文件读取剖析 客户端通过调用FileSystem对象的open()来读取希望打开的文件.对于HDFS来说,这个对象是分布式文件系统的一个实例. Distributed ...

  9. HDFS文件读取详解

    客户端与HDFS文件读取 创建HDFS文件系统实例 FileSystem fs = FileSystem.get(new URI("hdfs://ns1"), new Config ...

  10. 【大数据系列】HDFS文件权限和安全模式、安装

    HDFS文件权限 1.与linux文件权限类型 r:read w:write x:execute权限x对于文件忽略,对于文件夹表示是否允许访问其内容 2.如果linux系统用户sanglp使用hado ...

随机推荐

  1. ubuntu安装cuda、cudnn和nvidia-docker

    目录 安装前的工作 要安装的cuda和cudnn版本说明 安装cuda 检查cuda的安装情况 安装cudnn 安装nvidia-docker 在红米book14上的实践 本文参考自Ubuntu18. ...

  2. C# 教你如何终止Task线程

    我们在多线程中通常使用一个bool IsExit类似的代码来控制是否线程的运行与终止,其实使用CancellationTokenSource来进行控制更为好用,下面我们将介绍CancellationT ...

  3. js中的加法运算

  4. Mysql数据库简单常用语句

    Mysql数据库简单常用语句 1.命令连接数据库 mysql -h 127.0.0.1 -u root -p 2.新增用户 GRANT SELECT on 数据库.* to 用户名@登录主机 iden ...

  5. .net code 3.0 获取配置文件 json 和 config 中的值

    using Microsoft.Extensions.Configuration;using Microsoft.Extensions.FileProviders; using System.IO; ...

  6. STP理论基础

    目的 防止二层环路及防止环路造成的广播风暴以及引起的MAC表震荡 方法 首先,所有配置了STP的交换机互相向相邻交换器(配置了STP的)发送BPDU(协议数据单元),选举根桥(根交换机),根交换机上所 ...

  7. 服务器consul与本地服务健康检查不通问题解决

    (125条消息) 服务器consul与本地服务健康检查不通问题解决_向往鸟的博客-CSDN博客_consul健康检查失败 .MathJax, .MathJax_Message, .MathJax_Pr ...

  8. 在 Vue 项目中使用 MQTT

    Vue 是一款由尤雨溪及其团队开发的渐进式 Javascript 前端框架.该框架具备数据双向绑定.组件化.响应式和轻量等特点,搭配其脚手架 Vue CLI 使得开发者更加容易上手,大大减少了学习成本 ...

  9. 国产电源芯片DP4054 软硬件兼容TP4054 规格书资料

    DP4054 是一款完整的采用恒定电流/恒定电压单 节锂离子电池充电管理芯片.其SOT小封装和较少的外部元件数目使其成为便携式应用的理想器件,DP4054 可以适合USB 电源和适配器电源工作.跟进口 ...

  10. ThinkPHP获取当前url

    $httpType = ((isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == 'on') || (isset($_SERVER['HTT ...