前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >大数据-HDFS 文件副本和 Block 块存储

大数据-HDFS 文件副本和 Block 块存储

作者头像
cwl_java
发布2019-12-25 11:31:30
1.3K0
发布2019-12-25 11:31:30
举报
文章被收录于专栏:cwl_Javacwl_Java

1.4. HDFS 文件副本和 Block 块存储

在这里插入图片描述
在这里插入图片描述

所有的文件都是以 block 块的方式存放在 HDFS 文件系统当中, 在 Hadoop1当中, 文件的 block 块默认大小是 64M, hadoop2 当中, 文件的 block块大小默认是 128M, block 块的大小可以通过 hdfs-site.xml当中的配置文件进行指定

代码语言:javascript
复制
<property>
        <name>dfs.block.size</name>
        <value>块大小 以字节为单位</value>
</property>
1.4.1. 引入块机制的好处
  1. 一个文件有可能大于集群中任意一个磁盘
  2. 使用块抽象而不是文件可以简化存储子系统
  3. 块非常适合用于数据备份进而提供数据容错能力和可用性
1.4.2. 块缓存

通常 DataNode 从磁盘中读取块, 但对于访问频繁的文件,其对应的块可能被显式的缓存在 DataNode 的内存中, 以堆外块缓存的形式存在.默认情况下,一个块仅缓存在一个 DataNode的内存中,当然可以针对每个文件配置 DataNode 的数量.作业调度器通过在缓存块的 DataNode 上运行任务,可以利用块缓存的优势提高读操作的性能.

例如:

连接(join) 操作中使用的一个小的查询表就是块缓存的一个很好的候选用户或应用通过在缓存池中增加一个 Cache Directive 来告诉 NameNode需要缓存哪些文件及存多久. 缓存池(Cache Pool)是一个拥有管理缓存权限和资源使用的管理性分组.

例如一个文件 130M, 会被切分成 2 个 block 块, 保存在两个 block 块里面,实际占用磁盘 130M 空间, 而不是占用256M的磁盘空间

1.4.3. HDFS 文件权限验证

HDFS 的文件权限机制与 Linux 系统的文件权限机制类似

代码语言:javascript
复制
    r:read  w:write  x:execute

权限 x 对于文件表示忽略, 对于文件夹表示是否有权限访问其内容 如果 Linux系统用户 zhangsan 使用 Hadoop 命令创建一个文件, 那么这个文件在 HDFS当中的 Owner 就是 zhangsan HDFS 文件权限的目的, 防止好人做错事,而不是阻止坏人做坏事. HDFS相信你告诉我你是谁, 你就是谁

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1.4. HDFS 文件副本和 Block 块存储
    • 1.4.1. 引入块机制的好处
      • 1.4.2. 块缓存
        • 1.4.3. HDFS 文件权限验证
        相关产品与服务
        大数据
        全栈大数据产品,面向海量数据场景,帮助您 “智理无数,心中有数”!
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档