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

Brandon Li commented on HDFS-5585:
----------------------------------

[~kihwal], thanks for the new patch.
Here is my understanding of how these two new CLIs could be used in a rolling 
upgrade procedure. Suppose only the datanodes need to be upgraded:
1. The user could issue the CLI "shutdownDatanode -upgrade" first to trigger 
the datanode rolling upgrade procedure. 
2. Then the user uses getDatanodeInfo to pull datanode status to know if it's 
still alive.
3. once the datanode is successfully shutdown, restart it to upgrade
4. after datanode is started, use getDatanodeInfo to verify the new layout 
version and so on.

However, for step 2, checking datanode process id status can better confirm 
datanode process' aliveness. For step 4, part of the new datanode version 
information can also be retrieved by asking namenode, in UI or "dfsadmin 
-report".  

So the question is, could it be better to just enhance "dfsadmin -report"  to 
include datanode layout/software versions than introduce the new CLI 
getDatanodeInfo?

> Provide admin commands for data node upgrade
> --------------------------------------------
>
>                 Key: HDFS-5585
>                 URL: https://issues.apache.org/jira/browse/HDFS-5585
>             Project: Hadoop HDFS
>          Issue Type: Sub-task
>          Components: datanode, ha, hdfs-client, namenode
>            Reporter: Kihwal Lee
>            Assignee: Kihwal Lee
>         Attachments: HDFS-5585.patch, HDFS-5585.patch, HDFS-5585.patch
>
>
> Several new methods to ClientDatanodeProtocol may need to be added to support 
> querying version, initiating upgrade, etc.  The admin CLI needs to be added 
> as well. This primary use case is for rolling upgrade, but this can be used 
> for preparing for a graceful restart of a data node for any reasons.



--
This message was sent by Atlassian JIRA
(v6.1.5#6160)

Reply via email to