Brian Bockelman wrote:
Hey all,

I noticed that the maximum throttle for the datanode block scanner is hardcoded at 8MB/s.

I think this is insufficient; on a fully loaded Sun Thumper, a full scan at 8MB/s would take something like 70 days.

Is it possible to make this throttle a bit smarter? At the very least, would anyone object to a patch which exposed this throttle as a config option? Alternately, a smarter idea would be to throttle the block scanner at (8MB/s) * (# of volumes), under the assumption that there is at least 1 disk per volume.

Making the max configurable seems useful. Either of the above options is fine, though the first one might be simpler for configuration.

8MB/s is calculated for around 4TB of data on a node. given 80k seconds a day, it is around 6-7 days. 8-10 MB/s is not too bad a load on 2-4 disk machine.

Hm... on second thought, however trivial the resulting disk I/O would be, on the Thumper example, the maximum throttle would be 3Gbps: that's a nontrivial load on the bus.

How do other "big sites" handle this? We're currently at 110TB raw, are considering converting ~240TB over from another file system, and are planning to grow to 800TB during 2009. A quick calculation shows that to do a weekly scan at that size, we're talking ~10Gbps of sustained reads.

You have a 110 TB on single datanode and moving to 800TB nodes? Note that this rate applies to amount of data on a single datanode.

Raghu.

I still worry that the rate is too low; if we have a suspicious node, or users report a problematic file, waiting a week for a full scan is too long. I've asked a student to implement a tool which can trigger a full block scan of a path (the idea would be able to do "hadoop fsck /path/to/file -deep"). What would be the best approach for him to take to initiate a high-rate "full volume" or "full datanode" scan?


Reply via email to