知识点补充

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. iOS开发之各机型屏幕大小与键盘高度整理

    机型 屏幕宽 屏幕高 键盘高 iPhone 8 375 667 260 iPhone 8 Plus 414 736 271 iPhone X 375 812 336 iPhone Xs 375 812 ...

  2. Dapper、EF、WebAPI转载记录

    轻量级框架Dapper基础 https://www.cnblogs.com/Sinte-Beuve/p/4231053.html   基本使用 https://www.cnblogs.com/hxzb ...

  3. 通过parameters用python造数据

    1.先通过命令安装allpairs库.allpairspy,命令为:pip install allpairs.pip install parameters,安装成功 2.通过python去写出来,如图 ...

  4. python利用signal自定义函数超时机制

    利用signal模块,可以给函数设置一个超时时间(精确到秒),结合装饰器实现:超时时间内函数运行完成正常退出,超时时间内函数未运行完成则抛出Timeout异常. 1 # coding:utf8 2 i ...

  5. 宝塔邮局-并解决A纪录解析失败问题

    为什么一定要用这个邮局呢,只要是方便,在宝塔面板直接安装就行了. 使用教程如下: https://www.bt.cn/bbs/thread-87496-1-1.html 有一个BUG本来已经设置好了, ...

  6. Apache和Nginx设置伪静态(URL Rewrite)的方法

    在Apache中有两种方法配置,一是通过httpd.conf文件,二是通过.htaccess文件. 使用 httpd.conf 来配置 rewrite 策略. 要使用 httpd.conf 文件来设置 ...

  7. 用windows 定时任务执行kettle的ktr文件,以及问题处理

    新建.bat文件,输入下面的批处理语句 d: cd D:\kettle\data-integration\ pan /file D:\etltest\EtltestTrans.ktr 第一行:进入你的 ...

  8. elastalert部署和使用

    一.Elastalert简介 Elastalert是Yelp公司基于python开发的ELK日志告警插件,Elastalert通过查询Elasticsearch中的记录与定于的告警规则进行对比,判断是 ...

  9. Neural Network模型复杂度之Weight Decay - Python实现

    背景介绍Neural Network之模型复杂度主要取决于优化参数个数与参数变化范围. 优化参数个数可手动调节, 参数变化范围可通过正则化技术加以限制. 正则化技术之含义是: 引入额外的条件, 对fu ...

  10. php不缓存直接输出

    ini_set('max_execution_time', 600); header('X-Accel-Buffering:no'); ob_end_flush(); $l_zhen = \M('zh ...