分享

关于hadoop分块的问题咨询

小钟 发表于 2016-10-7 19:54:08 [显示全部楼层] 回帖奖励 阅读模式 关闭右栏 1 7506
各位,今天我把本地的文件copy和put到hdfs上,但是ls一下hdfs上文件,还是整个文件的,为什么没有分块呢,还是整个文件,如果我想上传的文件分块存储,我该如何处理?

hadoop fs -copyFromLocal /home/zhong/hadoop/hadoop-2.5.0-cdh5.2.0.tar.gz /user/grid/zhong_input

hadoop fs -put /home/zhong/hadoop/hadoop-2.5.0-cdh5.2.0.tar.gz /user/grid/zhong_input/hadoop-2.5.0-cdh5.2.0.tar1.gz

[zhong@h2 hadoop-2.5.0-cdh5.2.0]$ hadoop fs -ls /user/grid/zhong_input
Found 3 items
-rw-r--r--   3 zhong supergroup  164024789 2016-10-06 23:54 /user/grid/zhong_input/hadoop-2.5.0-cdh5.2.0.tar.gz
-rw-r--r--   3 zhong supergroup  164024789 2016-10-07 00:19 /user/grid/zhong_input/hadoop-2.5.0-cdh5.2.0.tar1.gz
-rw-r--r--   3 zhong supergroup       2622 2016-10-06 22:21 /user/grid/zhong_input/quangle.txt

hdfs_site.xml 配置文件增加了这个配置了

<property>
  <name>dfs.block.size</name>
  <value>67108864</value>
<description>The default block size for new files.</description>
</property>

已有(1)人评论

跳转到指定楼层
einhep 发表于 2016-10-7 20:52:04
首先我们知道hdfs是分布式文件系统,我们的磁盘是传统的文件系统。磁盘其实也是二进制。但是我们在查看文件的时候,看到的不是二进制,同理,在hdfs上我们也不会看到block.因为楼主用的命令是查看文件命令。

如何看到block,

HDFS物理存储单元是Block(缺省的Block大小为64M),每个Block会有几个副本(缺省是3个),这些Block都是存储在不同数据节点上的,也就是datanode上。映射关系保存在BlocksMap。

我们的文件对应的block id映射信息存在BlocksMap中,那么BlocksMap存在什么位置?BlocksMap存放于fsimage文件中。
fsimage在什么位置:首先对于hadoop1.x是由hdfs-site.xml中hadoop.tmp.dir来配置的,如下图所示


下面我们从路径中来找到fsimage,如下图所示。






更多内容:
HDFS文件系统如何查看文件对应的block
http://www.aboutyun.com/forum.php?mod=viewthread&tid=7604



回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条