Interesting remark about what means commodity hardware:
When I first heard the term, I (and many others I know) considered this to be on the order of desktop-grade machines - the machines I’d purchased were Dual Core 2+ Ghz Dell Desktops (purchased on eBay for $350 a piece). Well, you can definitely do certain tasks within the framework with these types of machines, but an ideal configuration consists of something much stronger - server-grade, quad core, 8Gigs of RAM, etc. HBase (particularly if you are going to do a lot of writes), needs really good Machine IO. If you are going to try to use machines with slow drives and controllers, it might be possible if you have a ton of datanodes, but not as advisable on smaller clusters.