[ 
https://issues.apache.org/jira/browse/HDFS-2832?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13842027#comment-13842027
 ] 

Arpit Agarwal commented on HDFS-2832:
-------------------------------------

{quote}
Is there any additional overhead from splitting?
{quote}
DNs are not splitting block reports right now and there is no extra overhead in 
NN to handle it.

{quote}
Have you looked at the additional memory overhead on the NN and DN from 
splitting up storages? With 10 disks on a DN, this could mean effectively 10x 
the number of DNs as before. I think this is still insignificant, but you all 
know better than me.
{quote}
Yes, the bulk of the space is consumed by the block information, the volumes 
themselves are insignificant.

{quote}
I'd like to see more description of the client API, namely the file attribute 
APIs. I'll also note that LocatedBlock is not a public API; you can hack around 
by downcasting BlockLocation to HdfsBlockLocation to fish out the LocatedBlock, 
but ultimately we probably want to expose StorageType in BlockLocation itself. 
API examples would be great, from both the command line and the programmatic 
API.
I think this earlier question/answer didn't make it into the doc: what happens 
when this file is distcp'd or copied? Arpit's earlier answer of clearing this 
field makes sense (or maybe we need a cp -a command).
{quote}
As mentioned earlier we'll document these in more detail once we start work on 
them i.e. post phase-1 merge.

{quote}
I'd like to see more discussion in the doc of migrating blocks that are 
currently open for short-circuit read. SCR is very common
{quote}
It's in the doc. The operating system, be it Unix or Windows will not let you 
remove a file as long as any process has a handle open to it. Even if the file 
looks deleted, it will remain on disk at least until the last open handle goes 
away. Quota permitting, the application can create additional replicas on 
alternate storage media while it keeps the existing handle open.

{quote}
Is this going to work with rolling upgrades?
{quote}
HDFS does not support rolling upgrades today.

{quote}
Storage is not always truly hierarchical, it depends on your provisioning. The 
current strategy of always falling back from SSD to HDD is more ambiguous when 
you have more than two storage types, especially with something like a tape or 
NAS tier. Maybe this should be configurable somehow.
One of the mentioned potential uses is to do automatic migration between 
storage types based on usage patterns. In this kind of scenario, it's necessary 
to support more expressive forms of resource management, e.g. YARN's fair 
scheduler. Quotas by themselves aren't sufficient.
{quote}
We have tried to avoid the term 'hierarchical' because we are not adding any 
awareness of storage hierarchy. HDD is just the most sensible default although 
as we mention in the future section we can look into adding support for tapes 
etc. Automatic migration is mentioned for completeness but we are not thinking 
about the design for it now. Anyone from the community is free to post ideas 
however.

Andrew, the design is the same you reviewed in August and we have discussed 
some of these earlier so I encourage you to read through the comment history.

> Enable support for heterogeneous storages in HDFS
> -------------------------------------------------
>
>                 Key: HDFS-2832
>                 URL: https://issues.apache.org/jira/browse/HDFS-2832
>             Project: Hadoop HDFS
>          Issue Type: New Feature
>    Affects Versions: 0.24.0
>            Reporter: Suresh Srinivas
>            Assignee: Suresh Srinivas
>         Attachments: 20130813-HeterogeneousStorage.pdf, 
> 20131125-HeterogeneousStorage-TestPlan.pdf, 
> 20131125-HeterogeneousStorage.pdf, 
> 20131202-HeterogeneousStorage-TestPlan.pdf, 
> 20131203-HeterogeneousStorage-TestPlan.pdf, H2832_20131107.patch, 
> editsStored, h2832_20131023.patch, h2832_20131023b.patch, 
> h2832_20131025.patch, h2832_20131028.patch, h2832_20131028b.patch, 
> h2832_20131029.patch, h2832_20131103.patch, h2832_20131104.patch, 
> h2832_20131105.patch, h2832_20131107b.patch, h2832_20131108.patch, 
> h2832_20131110.patch, h2832_20131110b.patch, h2832_20131111.patch, 
> h2832_20131112.patch, h2832_20131112b.patch, h2832_20131114.patch, 
> h2832_20131118.patch, h2832_20131119.patch, h2832_20131119b.patch, 
> h2832_20131121.patch, h2832_20131122.patch, h2832_20131122b.patch, 
> h2832_20131123.patch, h2832_20131124.patch, h2832_20131202.patch, 
> h2832_20131203.patch
>
>
> HDFS currently supports configuration where storages are a list of 
> directories. Typically each of these directories correspond to a volume with 
> its own file system. All these directories are homogeneous and therefore 
> identified as a single storage at the namenode. I propose, change to the 
> current model where Datanode * is a * storage, to Datanode * is a collection 
> * of strorages. 



--
This message was sent by Atlassian JIRA
(v6.1#6144)

Reply via email to