HDFS文件块
知识点补充
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文件块的更多相关文章
- Hadoop HDFS 文件块大小
HDFS 文件块大小 HDFS中的文件在物理上是分块存储(block),块的大小可以通过配置参数( dfs.blocksize)来规定,默认大小在hadoop2.x版本中是128M,老版本中是64M ...
- Hadoop-2.4.0中HDFS文件块大小默认为128M
134217728 / 1024 = 131072 / 1024 = 128
- HDFS 上文件块的副本数设置
一.使用 setrep 命令来设置 # 设置 /javafx-src.zip 的文件块只存三份 hadoop fs -setrep /javafx-src.zip 二.文件块在磁盘上的路径 # 设置的 ...
- Hadoop如何修改HDFS文件存储块大小
一. 临时修改可以在执行上传文件命令时,显示地指定存储的块大小.1. 查看当前 HDFS文件块大小我这里查看HDFS上的TEST目录下的jdk-7u25-linux-x64.gz 文件存储块大小.1 ...
- 【HDFS API编程】查看文件块信息
现在我们把文件都存在HDFS文件系统之上,现在有一个jdk.zip文件存储在上面,我们想知道这个文件在哪些节点之上?切成了几个块?每个块的大小是怎么样?先上测试类代码: /** * 查看文件块信息 * ...
- hdfs fsck命令查看HDFS文件对应的文件块信息(Block)和位置信息(Locations)
关键字:hdfs fsck.block.locations 在HDFS中,提供了fsck命令,用于检查HDFS上文件和目录的健康状态.获取文件的block信息和位置信息等. fsck命令必须由HDFS ...
- hadoop 小文件 挂载 小文件对NameNode的内存消耗 HDFS小文件解决方案 客户端 自身机制 HDFS把块默认复制3次至3个不同节点。
hadoop不支持传统文件系统的挂载,使得流式数据装进hadoop变得复杂. hadoo中,文件只是目录项存在:在文件关闭前,其长度一直显示为0:如果在一段时间内将数据写到文件却没有将其关闭,则若网络 ...
- HDFS 文件读写过程
HDFS 文件读写过程 HDFS 文件读取剖析 客户端通过调用FileSystem对象的open()来读取希望打开的文件.对于HDFS来说,这个对象是分布式文件系统的一个实例. Distributed ...
- HDFS文件读取详解
客户端与HDFS文件读取 创建HDFS文件系统实例 FileSystem fs = FileSystem.get(new URI("hdfs://ns1"), new Config ...
- 【大数据系列】HDFS文件权限和安全模式、安装
HDFS文件权限 1.与linux文件权限类型 r:read w:write x:execute权限x对于文件忽略,对于文件夹表示是否允许访问其内容 2.如果linux系统用户sanglp使用hado ...
随机推荐
- ubuntu安装cuda、cudnn和nvidia-docker
目录 安装前的工作 要安装的cuda和cudnn版本说明 安装cuda 检查cuda的安装情况 安装cudnn 安装nvidia-docker 在红米book14上的实践 本文参考自Ubuntu18. ...
- C# 教你如何终止Task线程
我们在多线程中通常使用一个bool IsExit类似的代码来控制是否线程的运行与终止,其实使用CancellationTokenSource来进行控制更为好用,下面我们将介绍CancellationT ...
- js中的加法运算
- Mysql数据库简单常用语句
Mysql数据库简单常用语句 1.命令连接数据库 mysql -h 127.0.0.1 -u root -p 2.新增用户 GRANT SELECT on 数据库.* to 用户名@登录主机 iden ...
- .net code 3.0 获取配置文件 json 和 config 中的值
using Microsoft.Extensions.Configuration;using Microsoft.Extensions.FileProviders; using System.IO; ...
- STP理论基础
目的 防止二层环路及防止环路造成的广播风暴以及引起的MAC表震荡 方法 首先,所有配置了STP的交换机互相向相邻交换器(配置了STP的)发送BPDU(协议数据单元),选举根桥(根交换机),根交换机上所 ...
- 服务器consul与本地服务健康检查不通问题解决
(125条消息) 服务器consul与本地服务健康检查不通问题解决_向往鸟的博客-CSDN博客_consul健康检查失败 .MathJax, .MathJax_Message, .MathJax_Pr ...
- 在 Vue 项目中使用 MQTT
Vue 是一款由尤雨溪及其团队开发的渐进式 Javascript 前端框架.该框架具备数据双向绑定.组件化.响应式和轻量等特点,搭配其脚手架 Vue CLI 使得开发者更加容易上手,大大减少了学习成本 ...
- 国产电源芯片DP4054 软硬件兼容TP4054 规格书资料
DP4054 是一款完整的采用恒定电流/恒定电压单 节锂离子电池充电管理芯片.其SOT小封装和较少的外部元件数目使其成为便携式应用的理想器件,DP4054 可以适合USB 电源和适配器电源工作.跟进口 ...
- ThinkPHP获取当前url
$httpType = ((isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == 'on') || (isset($_SERVER['HTT ...