|
Sourygna Luangsay
2012-08-08, 16:46
Michael Segel
2012-08-08, 17:06
Gaurav Sharma
2012-08-08, 17:24
D'Souza, Clive V
2012-08-08, 17:30
Steve Loughran
2012-08-08, 17:31
Ajit Ratnaparkhi
2012-08-08, 18:31
|
-
is HDFS RAID "data locality" efficient?Sourygna Luangsay 2012-08-08, 16:46
Hi folks!
I have just read about the HDFS RAID feature that was added to Hadoop 0.21 or 0.22. and I am quite curious to know if people use it, what kind of use they have and what they think about Map/Reduce data locality. First big actor of this technology is Facebook, that claims to save many PB with it (see http://www.slideshare.net/ydn/hdfs-raid-facebook <http://www.slideshare.net/ydn/hdfs-raid-facebook%20slides%204%20and%205> slides 4 and 5). I understand the following advantages with HDFS RAID: - You can save space - System tolerates more missing blocks Nonetheless, one of the drawback I see is M/R data locality. As far as I understand, the advantage of having 3 replicas of each blocks is not only security if one server fails or a block is corrupted, but also the possibility to have as far as 3 tasktrackers executing the map task with local data. If you consider the 4th slide of the Facebook presentation, such infrastructure decreases this possibility to only 1 tasktracker. That means that if this tasktracker is very busy executing other tasks, you have the following choice: - Waiting this tasktracker to finish executing (part of) the current tasks (freeing map slots for instance) - Executing the map task for this block in another tasktracker, transferring the information of the block through the network In both cases, you´ll get a M/R penalty (please, tell me if I am wrong). Has somebody considered such penalty or has some benchmarks to share with us? One of the scenario I can think in order to take advantage of HDFS RAID without suffering this penalty is: - Using normal HDFS with default replication=3 for my fresh data - Using HDFS RAID for my historical data (that is barely used by M/R) And you, what are you using HDFS RAID for? Regards, Sourygna Luangsay
-
Re: is HDFS RAID "data locality" efficient?Michael Segel 2012-08-08, 17:06
Just something to think about...
There's a company here in Chicago called Cleversafe. I believe they recently made an announcement concerning Hadoop? The interesting thing about RAID is that you're adding to the disk latency and depending on which raid you use you could kill performance on a rebuild of a disk. In terms of uptime of Apache based Hadoop, RAID allows you to actually hot swap the disks and unless you lose both drives (assuming Raid 1, mirroring), your DN doesn't know and doesn't have to go down. So there is some value there, however at the expense of storage and storage costs. You can reduce the replication factor to 2. I don't know that I would go to anything lower because you still can lose the server... In terms of data locality... maybe you lose a bit, however... because you're raiding your storage, you now have less data per node. So you end up with more nodes, right? Just some food for thought. On Aug 8, 2012, at 11:46 AM, Sourygna Luangsay <[EMAIL PROTECTED]> wrote: > Hi folks! > > I have just read about the HDFS RAID feature that was added to Hadoop 0.21 or 0.22. and I am quite curious to know if people use it, what kind of use > they have and what they think about Map/Reduce data locality. > > First big actor of this technology is Facebook, that claims to save many PB with it (see http://www.slideshare.net/ydn/hdfs-raid-facebook slides 4 and 5). > > I understand the following advantages with HDFS RAID: > - You can save space > - System tolerates more missing blocks > > Nonetheless, one of the drawback I see is M/R data locality. > As far as I understand, the advantage of having 3 replicas of each blocks is not only security if one server fails or a block is corrupted, > but also the possibility to have as far as 3 tasktrackers executing the map task with “local data”. > If you consider the 4th slide of the Facebook presentation, such infrastructure decreases this possibility to only 1 tasktracker. > That means that if this tasktracker is very busy executing other tasks, you have the following choice: > - Waiting this tasktracker to finish executing (part of) the current tasks (freeing map slots for instance) > - Executing the map task for this block in another tasktracker, transferring the information of the block through the network > In both cases, you´ll get a M/R penalty (please, tell me if I am wrong). > > Has somebody considered such penalty or has some benchmarks to share with us? > > One of the scenario I can think in order to take advantage of HDFS RAID without suffering this penalty is: > - Using normal HDFS with default replication=3 for my “fresh data” > - Using HDFS RAID for my historical data (that is barely used by M/R) > > And you, what are you using HDFS RAID for? > > Regards, > > Sourygna Luangsay
-
Re: is HDFS RAID "data locality" efficient?Gaurav Sharma 2012-08-08, 17:24
Indeed, erasure encoding is a component of a good storage solution esp. for holding on to PB scale datasets but there's an associated cost in terms of latency for real time serving. Depending on the domain (eg. where temporal locality is observed in access patterns), it works well if the hot dataset is small and can be served efficiently from elsewhere. It is a great fit for DW type workloads. Fb had a good presentation sometime back where they discussed a typical impl with Reed Solomon codes et al.
On Aug 8, 2012, at 10:06, Michael Segel <[EMAIL PROTECTED]> wrote: > Just something to think about... > > There's a company here in Chicago called Cleversafe. I believe they recently made an announcement concerning Hadoop? > > The interesting thing about RAID is that you're adding to the disk latency and depending on which raid you use you could kill performance on a rebuild of a disk. > > In terms of uptime of Apache based Hadoop, RAID allows you to actually hot swap the disks and unless you lose both drives (assuming Raid 1, mirroring), your DN doesn't know and doesn't have to go down. > So there is some value there, however at the expense of storage and storage costs. > > You can reduce the replication factor to 2. I don't know that I would go to anything lower because you still can lose the server... > > In terms of data locality... maybe you lose a bit, however... because you're raiding your storage, you now have less data per node. So you end up with more nodes, right? > > Just some food for thought. > > On Aug 8, 2012, at 11:46 AM, Sourygna Luangsay <[EMAIL PROTECTED]> wrote: > >> Hi folks! >> >> I have just read about the HDFS RAID feature that was added to Hadoop 0.21 or 0.22. and I am quite curious to know if people use it, what kind of use >> they have and what they think about Map/Reduce data locality. >> >> First big actor of this technology is Facebook, that claims to save many PB with it (see http://www.slideshare.net/ydn/hdfs-raid-facebook slides 4 and 5). >> >> I understand the following advantages with HDFS RAID: >> - You can save space >> - System tolerates more missing blocks >> >> Nonetheless, one of the drawback I see is M/R data locality. >> As far as I understand, the advantage of having 3 replicas of each blocks is not only security if one server fails or a block is corrupted, >> but also the possibility to have as far as 3 tasktrackers executing the map task with “local data”. >> If you consider the 4th slide of the Facebook presentation, such infrastructure decreases this possibility to only 1 tasktracker. >> That means that if this tasktracker is very busy executing other tasks, you have the following choice: >> - Waiting this tasktracker to finish executing (part of) the current tasks (freeing map slots for instance) >> - Executing the map task for this block in another tasktracker, transferring the information of the block through the network >> In both cases, you´ll get a M/R penalty (please, tell me if I am wrong). >> >> Has somebody considered such penalty or has some benchmarks to share with us? >> >> One of the scenario I can think in order to take advantage of HDFS RAID without suffering this penalty is: >> - Using normal HDFS with default replication=3 for my “fresh data” >> - Using HDFS RAID for my historical data (that is barely used by M/R) >> >> And you, what are you using HDFS RAID for? >> >> Regards, >> >> Sourygna Luangsay >
-
RE: is HDFS RAID "data locality" efficient?D'Souza, Clive V 2012-08-08, 17:30
Adding to Gaurav’s sentiment - using object stores with Erasure code is pretty good solution when the data starts creeping into the PB scale with a need for redundancy.
Look at Amplidata solutions, they seem to have good stack. Regards, -C From: Gaurav Sharma [mailto:[EMAIL PROTECTED]] Sent: Wednesday, August 08, 2012 10:25 AM To: [EMAIL PROTECTED] Subject: Re: is HDFS RAID "data locality" efficient? Indeed, erasure encoding is a component of a good storage solution esp. for holding on to PB scale datasets but there's an associated cost in terms of latency for real time serving. Depending on the domain (eg. where temporal locality is observed in access patterns), it works well if the hot dataset is small and can be served efficiently from elsewhere. It is a great fit for DW type workloads. Fb had a good presentation sometime back where they discussed a typical impl with Reed Solomon codes et al. On Aug 8, 2012, at 10:06, Michael Segel <[EMAIL PROTECTED]<mailto:[EMAIL PROTECTED]>> wrote: Just something to think about... There's a company here in Chicago called Cleversafe. I believe they recently made an announcement concerning Hadoop? The interesting thing about RAID is that you're adding to the disk latency and depending on which raid you use you could kill performance on a rebuild of a disk. In terms of uptime of Apache based Hadoop, RAID allows you to actually hot swap the disks and unless you lose both drives (assuming Raid 1, mirroring), your DN doesn't know and doesn't have to go down. So there is some value there, however at the expense of storage and storage costs. You can reduce the replication factor to 2. I don't know that I would go to anything lower because you still can lose the server... In terms of data locality... maybe you lose a bit, however... because you're raiding your storage, you now have less data per node. So you end up with more nodes, right? Just some food for thought. On Aug 8, 2012, at 11:46 AM, Sourygna Luangsay <[EMAIL PROTECTED]<mailto:[EMAIL PROTECTED]>> wrote: Hi folks! I have just read about the HDFS RAID feature that was added to Hadoop 0.21 or 0.22. and I am quite curious to know if people use it, what kind of use they have and what they think about Map/Reduce data locality. First big actor of this technology is Facebook, that claims to save many PB with it (see http://www.slideshare.net/ydn/hdfs-raid-facebook slides 4 and 5<http://www.slideshare.net/ydn/hdfs-raid-facebook%20slides%204%20and%205>). I understand the following advantages with HDFS RAID: - You can save space - System tolerates more missing blocks Nonetheless, one of the drawback I see is M/R data locality. As far as I understand, the advantage of having 3 replicas of each blocks is not only security if one server fails or a block is corrupted, but also the possibility to have as far as 3 tasktrackers executing the map task with “local data”. If you consider the 4th slide of the Facebook presentation, such infrastructure decreases this possibility to only 1 tasktracker. That means that if this tasktracker is very busy executing other tasks, you have the following choice: - Waiting this tasktracker to finish executing (part of) the current tasks (freeing map slots for instance) - Executing the map task for this block in another tasktracker, transferring the information of the block through the network In both cases, you´ll get a M/R penalty (please, tell me if I am wrong). Has somebody considered such penalty or has some benchmarks to share with us? One of the scenario I can think in order to take advantage of HDFS RAID without suffering this penalty is: - Using normal HDFS with default replication=3 for my “fresh data” - Using HDFS RAID for my historical data (that is barely used by M/R) And you, what are you using HDFS RAID for? Regards, Sourygna Luangsay
-
Re: is HDFS RAID "data locality" efficient?Steve Loughran 2012-08-08, 17:31
On 8 August 2012 09:46, Sourygna Luangsay <[EMAIL PROTECTED]> wrote:
> Hi folks!**** > > One of the scenario I can think in order to take advantage of HDFS RAID > without suffering this penalty is:** > > **- **Using normal HDFS with default replication=3 for my ���fresh > data”**** > > **- **Using HDFS RAID for my historical data (that is barely > used by M/R)**** > > ** ** > > > exactly: less space use on cold data, with the penalty that access performance can be worse. As the majority of data on a hadoop cluster is usually "cold", it's a space and power efficient story for the archive data -- Steve Loughran Hortonworks Inc
-
Re: is HDFS RAID "data locality" efficient?Ajit Ratnaparkhi 2012-08-08, 18:31
Agreed with Steve.
That is most important use of HDFS RAID, where you consume less disk space with same reliability and availability guarantee at cost of processing performance. Most of data in hdfs is cold data, without HDFS RAID you end up maintaining 3 replicas of data which is hardly going to be processed again, but you cant remove/move this data to separate archive because if required processing should be as soon as possible. -Ajit On Wed, Aug 8, 2012 at 11:01 PM, Steve Loughran <[EMAIL PROTECTED]>wrote: > > > On 8 August 2012 09:46, Sourygna Luangsay <[EMAIL PROTECTED]> wrote: > >> Hi folks!**** >> >> One of the scenario I can think in order to take advantage of HDFS RAID >> without suffering this penalty is:** >> >> **- **Using normal HDFS with default replication=3 for my >> “fresh data”**** >> >> **- **Using HDFS RAID for my historical data (that is barely >> used by M/R)**** >> >> ** ** >> >> >> > exactly: less space use on cold data, with the penalty that access > performance can be worse. As the majority of data on a hadoop cluster is > usually "cold", it's a space and power efficient story for the archive data > > -- > Steve Loughran > Hortonworks Inc > > |