hadoop hdfs数据块探索
Posted 熊猫太郎
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了hadoop hdfs数据块探索相关的知识,希望对你有一定的参考价值。
1.文件存储的位置
示例查看
./bin/hadoop fsck /data/bb/bb.txt -files -blocks -racks –locations
blk_1076386829_2649976是meta文件名,具体如何找到这个meta文件,可以通过find命令,从图中我们可以看到文件存储在117和229的二台机器上,例如我们登录到117机器上。
首先到dfs.datanode.data.dir的路径(如果忘记啦,可以在$HADOOP_HOME/etc/hadoop/hdfs-site.xml中查看)
我的机器配置如下:
分别在3个目录中执行find语句,示例命令如下:
find /data1/hdfs1/data/current/BP-236683338-10.207.0.217-1403487328282/current -name blk_1076386829_2649976.meta
最终找到meta文件。截图如下:
这样也就找到了你的文件,可以cat blk_1076386829查看 一下。
单纯的模拟了其中一个数据块损坏的情况,数据块损坏后,在该节点执行directoryscan之前(dfs.datanode.directoryscan.interval决定),都不会发现损坏,在向namenode报告数据块信息之前(dfs.blockreport.intervalMsec决定),都不会恢复数据块,当namenode收到块信息后才会采取恢复措施
真实的情况肯定会更复杂,可以从这个简单的过程中了解开头所说的两个参数。
参数配置
hdfs-site.xml中的两个主要参数配置入下
<property> <name>dfs.namenode.secondary.http-address</name> <value>master:9001</value></property><property> <name>dfs.blockreport.intervalMsec</name> <value>600000</value> <description>Determines block reporting interval in milliseconds.</description></property><property> <name>dfs.datanode.directoryscan.interval</name> <value>600</value> </property>
都是10分钟
日志详情
2016-06-14 21:48:51,083 INFO org.apache.hadoop.hdfs.server.datanode.DirectoryScanner: BlockPool BP-660628275-192.168.1.100-1464787466998 Total blocks: 1, missing metadata files:1, missing block files:1, missing blocks in memory:0, mismatched blocks:0
2016-06-14 21:48:51,084 WARN org.apache.hadoop.hdfs.server.datanode.fsdataset.impl.FsDatasetImpl: Removed block 1073741825 from memory with missing block file on the disk
2016-06-14 21:49:17,168 INFO org.apache.hadoop.hdfs.server.datanode.DataNode: BlockReport of 1 blocks took 0 msec to generate and 1 msecs for RPC and NN processing
2016-06-14 21:49:17,169 INFO org.apache.hadoop.hdfs.server.datanode.DataNode: sent block report, processed command:org.apache.hadoop.hdfs.server.protocol.FinalizeCommand@8a2db2
2016-06-14 21:49:20,977 INFO org.apache.hadoop.hdfs.server.datanode.DataNode: Receiving BP-660628275-192.168.1.100-1464787466998:blk_1073741825_1001 src: /192.168.1.101:53718 dest: /192.168.1.102:50010
2016-06-14 21:49:20,984 INFO org.apache.hadoop.hdfs.server.datanode.DataNode: Received BP-660628275-192.168.1.100-1464787466998:blk_1073741825_1001 src: /192.168.1.101:53718 dest: /192.168.1.102:50010 of size 1366
以上是关于hadoop hdfs数据块探索的主要内容,如果未能解决你的问题,请参考以下文章