I understand that with 0.20.204, loss of a disk doesn't loss the node. But if we have to replace that lost disk, its again scheduling the whole node down, kicking replication
From: Matt Foley [mailto:mfo...@hortonworks.com] Sent: Friday, November 11, 2011 1:58 AM To: hdfs-user@hadoop.apache.org Subject: Re: Sizing help I agree with Ted's argument that 3x replication is way better than 2x. But I do have to point out that, since 0.20.204, the loss of a disk no longer causes the loss of a whole node (thankfully!) unless it's the system disk. So in the example given, if you estimate a disk failure every 2 hours, each node only has to re-replicate about 2GB of data, not 12GB. So about 1-in-72 such failures risks data loss, rather than 1-in-12. Which is still unacceptable, so use 3x replication! :-) --Matt On Mon, Nov 7, 2011 at 4:53 PM, Ted Dunning <tdunn...@maprtech.com> wrote: 3x replication has two effects. One is reliability. This is probably more important in large clusters than small. Another important effect is data locality during map-reduce. Having 3x replication allows mappers to have almost all invocations read from local disk. 2x replication compromises this. Even where you don't have local data, the bandwidth available to read from 3x replicated data is 1.5x the bandwidth available for 2x replication. To get a rough feel for how reliable you should consider a cluster, you can do a pretty simple computation. If you have 12 x 2T on a single machine and you lose that machine, the remaining copies of that data must be replicated before another disk fails. With HDFS and block-level replication, the remaining copies will be spread across the entire cluster to any disk failure is reasonably like to cause data loss. For a 1000 node cluster with 12000 disks, it is conservative to estimate a disk failure on average every 2 hours. Each node will have replicate about 12GB of data which will take about 500 seconds or about 9 or 10 minutes if you only use 25% of your network for re-replication. The probability of a disk failure during a 10 minute period is 1-exp(-10/120) = 8%. This means that roughly 1 in 12 full machine failures might cause data loss. You can pick whatever you like for the rate at which nodes die, but I don't think that this is acceptable. My numbers for disk failures are purposely somewhat pessimistic. If you change the MTBF for disks to 10 years instead of 3 years, then the probability of data loss after a machine failure drops, but only to about 2.5%. Now, I would be the first to say that these numbers feel too high, but I also would rather not experience enough data loss events to have a reliable gut feel for how often they should occur. My feeling is that 2x is fine for data you can reconstruct and which you don't need to read really fast, but not good enough for data whose loss will get you fired. On Mon, Nov 7, 2011 at 7:34 PM, Rita <rmorgan...@gmail.com> wrote: I have been running with 2x replication on a 500tb cluster. No issues whatsoever. 3x is for super paranoid. On Mon, Nov 7, 2011 at 5:06 PM, Ted Dunning <tdunn...@maprtech.com> wrote: Depending on which distribution and what your data center power limits are you may save a lot of money by going with machines that have 12 x 2 or 3 tb drives. With suitable engineering margins and 3 x replication you can have 5 tb net data per node and 20 nodes per rack. If you want to go all cowboy with 2x replication and little space to spare then you can double that density. On Monday, November 7, 2011, Rita <rmorgan...@gmail.com> wrote: > For a 1PB installation you would need close to 170 servers with 12 TB disk pack installed on them (with replication factor of 2). Thats a conservative estimate > CPUs: 4 cores with 16gb of memory > > Namenode: 4 core with 32gb of memory should be ok. > > > On Fri, Oct 21, 2011 at 5:40 PM, Steve Ed <sediso...@gmail.com> wrote: >> >> I am a newbie to Hadoop and trying to understand how to Size a Hadoop cluster. >> >> >> >> What are factors I should consider deciding the number of datanodes ? >> >> Datanode configuration ? CPU, Memory >> >> Amount of memory required for namenode ? >> >> >> >> My client is looking at 1 PB of usable data and will be running analytics on TB size files using mapreduce. >> >> >> >> >> >> Thanks >> >> ... Steve >> >> > > > -- > --- Get your facts first, then you can distort them as you please.-- > -- --- Get your facts first, then you can distort them as you please.--