随笔分类 -  hdfs源代码阅读

摘要:问题:集群中的存储数据增大,导致datanode的空间都快占满了(以前的dfs.data.dir=/data/hdfs/dfs/data),机器的硬盘监控程序不停的报警 。 给每台机器加了一倍的存储硬盘(新的dfs.data.dir=/data/hdfs/dfs/data,/data/hdfs/dfs/data2 新的硬盘挂载在/data/hdfs/dfs/data2),但是现在的问题来了,以前装数据的那块盘还是满的,仍然在报警,怎么把数据均衡到这两块盘上面 ??解决:移动其中一个文件夹的数据(其实也就是block)到另外一个文件加 。原理:hdfs中文件的inode文件树信息以及每个文件对. 阅读全文
posted @ 2012-04-17 15:39 xiao晓 阅读(8324) 评论(1) 推荐(1)
摘要:package org.apache.hadoop.atest.datanade;import java.io.BufferedInputStream;import java.io.DataInputStream;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.IOException;import org.apache.hadoop.util.DataChecksum;/***程序的主要目的是读取一个block文件和相应的meta文件,然后多相应的data数据进行校验 。**/ 阅读全文
posted @ 2012-03-14 20:29 xiao晓 阅读(2162) 评论(0) 推荐(0)
摘要:hadoop中用该类来控制对于数据的处理速度 ,主要思想如下:1、将数据处理分为一个个的周期(period)2、每个周期内处理的bytes固定 。3、定义每次处理周期的开始时间 。4、每次处处理完后调用BlockTransferThrottler.throttle(long numOfBytes)方法,若是还未到周期的结束时间,已经将处理了相应的bytes,则该线程wait 。代码以及注视如下:package org.apache.hadoop.hdfs.server.datanode;/** * a class to throttle the block transfers. * This. 阅读全文
posted @ 2012-03-03 20:27 xiao晓 阅读(731) 评论(0) 推荐(0)