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

Kihwal Lee commented on HDFS-5585:
----------------------------------

Thanks for the review, Brandon.

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

It was determined to do it this way because,
- For a big cluster, the report is big and incurs overhead on NN. In a rolling 
upgrade, only one or a small number of DNs needs to be checked, so it is much 
more efficient to talk directly to the nodes, especially when you want to poll 
the state often.
- NN is updated of the DN state at every heartbeat. Also the liveness 
information obtained from NN is not deterministic enough for the purpose of 
fast-paced rolling upgrades.
- Overall design goal is to make DN upgrades as independent as possible to NN. 
- Existing tool-based upgrade frameworks can easily be adapted to this 
mechanism.

bq. Is it expected to upgrade part of datanode code distribution? 
No. This is for config versions and is optional.  Here is the typical use case: 
sometimes restart is carried out to update only the configs.  In such cases, 
the software version stays. This new piece of information lets admins examine 
whether a DN is running with the expected version of config.  We have seen 
cases where a push of new config missed a few nodes or the push happened just a 
moment after the server started.

Choice of config versioning scheme or whether to utilize it is up to the users. 
The default is actually defined in core-default.xml and hdfs-default.xml. 
Anyone who wants to utilize this feature needs to specify the variables in 
their core-site.xml and hdfs-site.xml and update them in a systematic way. 
There is no hadoop code that depends on this.

> 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