HDFS

HDFS文件被划分为128M的块并保存多个副本,默认3副本,以提高容错性。Namnode负责文件系统命名空间和块信息管理,而Datanode存储数据块。Secondary Namenode协助合并元数据,确保高可用性。HDFS高可用通过活动-备用Namenode实现,应对单点故障。数据读写涉及Namenode、Datanode交互,具备容错机制。
摘要由CSDN通过智能技术生成

数据块

hdfs上的文件被切分为多个块(block),每个block的大小默认为128M,小于一个block大小的文件不会占据整个块的空间,每个block会保存多个副本以实现容错,默认副本数为3,对特殊文件可以在上传时指定副本的个数:hadoop fs -D dfs.replication=4 -put  1.txt   /tmp/。

副本的存放机制:第1个副本存放在运行客户端的节点上,第2个副本存放在与第一个不同且随机选择的机架上的一个节点上,第3个副本存放在与第二个副本相同机架的不同节点上。

hdfs中的块比磁盘块大很多是为了最小化寻址开销,块足够大时,从磁盘传输数据的时间会明显大于定为这个块开始位置所需要的时间,因而传输一个由多个块组成的文件的时间取决于磁盘的传输速率。较大block的好处:block尺寸较大时,文件的block个数就会比较小,从而namenode需要记录的每个文件中各个块所在的数据节点信息就会比较小,而这些信息是保存在namenode的内存中的。block太大的缺点:MapReduce中一个map任务通常只处理一个块的数据,块太大任务数就会太少会降低作业的运行速度。

namenode和datanode

hdfs集群由一个namenode(管理节点)和多个datanode(工作节点)组成。namenode管理文件系统的命名空间,维护文件系统数以及树内所有的文件和目录,这些信息以两个文件的形式永久保存在本地磁盘上:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值