HDFS-datanode数据块部分笔记

本文介绍了HDFS数据块的存储位置和结构,通过${HADOOP_HOME}/etc/hadoop/hdfs-site.xml配置文件找到数据存放路径。默认情况下,HDFS数据块大小为64MB,文件超过此大小将被分割成多个数据块存储。在DataNode中,数据块以blk_开头的文件形式存在,.meta文件存储元数据。HDFS Web UI提供了清晰的文件信息查看。作者提出两个疑问:1) 数据块中的数据是否以原始格式存储;2) DataNode中预创建的多余数据块的来源。讨论了数据块大小设置的原因,包括减少磁盘寻址时间和减轻NameNode内存压力。最后提到了TFS系统和文件合并策略在处理大量小文件时的优势。
摘要由CSDN通过智能技术生成
     之前在看查看datanode数据的时候觉得很奇怪,我在hdfs上有两个用户,一个是默认生成的http://master:9000/user/hduser,(其中master是linux下我的主机名hduser是linux下我的用户名)另一个是使用了hive存储之后hdfs自动建立的http://master:9000/user/hive。但是在datanode节点查看之后,总是找不到hive存储的文件,几番折腾之后终于弄清楚。
     首先,数据存在哪里?
     我们知道hadoop集群遵循的是主/从的架构,namenode很多时候都不作为文件的读写操作,只负责任务的调度和掌握数据块在哪些datanode的分布,保存的是一些数据结构,是namespace或者类似索引之类的东西,真正的数据存储和对数据的读写是发生在datanode里的。找到${HADOOP_HOME}/ect/hadoop/hdfs-site.xml文件,里面有你自己定义的dfs.datanode.data.dir一项就是你数据存放的位置。如果你没有修改过,就在放默认项,具体一些默认的配置可以查看这个文档 http://hadoop.apache.org/docs/stable/hadoop-project-dist/hadoop-hdfs/hdfs-default.xml [1]。进入datanode的数据目录之后,一层一层的cd直到找到真正数据所存放的地方。如图1所示。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值