hadoop-yarn-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "zhihai xu (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (YARN-3749) We should make a copy of configuration when init MiniYARNCluster with multiple RMs
Date Mon, 01 Jun 2015 22:57:17 GMT

    [ https://issues.apache.org/jira/browse/YARN-3749?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14568187#comment-14568187

zhihai xu commented on YARN-3749:

Hi [~chenchun], thanks for filing and working on this issue.
The patch seems reasonable to me.
Some nits: 
1. It looks like setRpcAddressForRM and setConfForRM are only used by test code. Should we
create a new HA test utility file to include these functions?

2. Do we really need the following change at {{MiniYARNCluster#serviceInit}}
conf.set(YarnConfiguration.RM_HA_ID, "rm0");
Because I saw {{initResourceManager}} will also configure {{RM_HA_ID}}.

3. Is any particular reason to configure {{YarnConfiguration.RM_HA_ID}} as {{RM2_NODE_ID}}
 instead of {{RM1_NODE_ID}} in ProtocolHATestBase?
conf.set(YarnConfiguration.RM_HA_ID, RM2_NODE_ID);

> We should make a copy of configuration when init MiniYARNCluster with multiple RMs
> ----------------------------------------------------------------------------------
>                 Key: YARN-3749
>                 URL: https://issues.apache.org/jira/browse/YARN-3749
>             Project: Hadoop YARN
>          Issue Type: Bug
>            Reporter: Chun Chen
>            Assignee: Chun Chen
>         Attachments: YARN-3749.2.patch, YARN-3749.patch
> When I was trying to write a test case for YARN-2674, I found DS client trying to connect
to both rm1 and rm2 with the same address when RM failover. But I initially
set yarn.resourcemanager.address.rm1=, yarn.resourcemanager.address.rm2=
 After digging, I found it is in ClientRMService where the value of yarn.resourcemanager.address.rm2
changed to See the following code in ClientRMService:
> {code}
> clientBindAddress = conf.updateConnectAddr(YarnConfiguration.RM_BIND_HOST,
>                                                YarnConfiguration.RM_ADDRESS,
>                                                YarnConfiguration.DEFAULT_RM_ADDRESS,
>                                                server.getListenerAddress());
> {code}
> Since we use the same instance of configuration in rm1 and rm2 and init both RM before
we start both RM, we will change yarn.resourcemanager.ha.id to rm2 during init of rm2 and
yarn.resourcemanager.ha.id will become rm2 during starting of rm1.
> So I think it is safe to make a copy of configuration when init both of the rm.

This message was sent by Atlassian JIRA

View raw message