HDFS文件存储

理论上HDFS中存储一个文件时会被分成多个Block,这些block应该会存放在不同的节点中。例如我们HDFS中有一个文件hdfs dfs -put flink-1.8.2-bin-scala_2.11.tgz /
在这里插入图片描述
这个文件被分成了三个Block,分别是Block0、Block1、Block2:
在这里插入图片描述
这三个Block的大小加起来总共就是283.81MB。
其中Block0的id为:1073741846、Block1的id为1073741847、Block2的id为1073741848。
我们在hadoop数据目录下查看(在hdfs-site.xml文件中配置hadoop.tmp.dir),在路径/home/duandingyang/tmp/hadoop-tmp/dfs/data/current/BP-840844130-127.0.1.1-1570955999745/current/finalized/subdir0/subdir0下看到了这几个block:
在这里插入图片描述
当我们要get这个文件时,在NameNode中查找这个文件对应的元数据信息(文件被拆成了多少block,这些block的id是多少,存在哪个DataNode中等等)
如果我们如果把这三个文件手动合并会怎么样?
将这三个block文件添加到一个压缩文件:

cat blk_1073741846 >> ~/flink.tgz
cat blk_1073741847 >> ~/flink.tgz
cat blk_1073741848 >> ~/flink.tgz

然后可以使用tar -xvf ~/flink.tgz命令可以解压这个文件,
说明HDFS只是帮我们做了个文件切分

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值