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 ...
随机推荐
- redis cluster 部署
redis cluster 部署 服务器说明 192.168.2.200:7000 ... 192.168.2.200:7005 创建集群目录 mkdir cluster-test cd cluste ...
- cuda、cudnn、tnesorrt的查看安装
1.首先本地查看cuda已安装的版本 11.7输入命令:[nvcc -V]输出:nvcc: NVIDIA (R) Cuda compiler driverCopyright (c) 2005-2022 ...
- 1、docker 安装
1 准备三台linux服务器 2 docker安装 三台机器全部执行docker安装操作 2.1 移除以前docker相关包 sudo yum remove docker \ docker-clien ...
- 数字图像处理 day1
第一节 什么是图像 f(x y z λ t)z 立体 入 彩色 t 活动 f(x y) 静止的 单色 二值图像 黑白图像 灰度图像 彩色图像 点云图像 多光谱图像 我的理解是 建 ...
- 2.4 OpenEuler中C语言中的函数调用测试
2.4 OpenEuler中C语言中的函数调用测试 任务详情 在X86_64架构下实践2.4中的内容 通过GDB查看寄存器的内容,把教材中的图填入具体的值 把2.4的C代码在OpenEuler中重新实 ...
- linux run/media/wang/centos_磁盘爆满
在使用iso安装了linux系统后,会有个 /run/media/wang/CentOS 7 x86_64 无法删除,这个是我们安装程序时的安装驱动, 登陆用户后将他卸载就可
- element-ui学习之-------input表单验证【各种情况总结】
1.非必填,正整数 2.非0开头正整数
- 2023-03-01 Warning: require(C:\wamp\www\tp5\public../thinkphp/base.php): failed to open stream: No such file or directory in C:\wamp\www\tp5\public\index.php on line 15
问题描述:拉取thinkphp5项目来运行,按照官网的提示都拉取完仓库后,在浏览器访问localhost/tp5/public报错: Warning: require(C:\wamp\www\tp5\ ...
- socket-消息发送实战
1. 函数用法 Handle.oobtainMessage(int what ,int arg1,int arg2,object obj) 2. 消息内容 3. 代码组合(隐私模式开关) 3.1 ...
- RabbitMQ 修改密码
C:\Program Files\RabbitMQ Server\rabbitmq_server-3.7.14\sbin> rabbitmqctl.bat change_password adm ...