YARN-6072. RM unable to start in secure mode. Contributed by Ajith S.

This commit is contained in:
Naganarasimha 2017-01-12 10:14:39 +05:30
parent b7b8671c0e
commit e459092a08
2 changed files with 18 additions and 10 deletions

View File

@ -673,7 +673,7 @@ private void refreshAll() throws ServiceFailedException {
} }
refreshClusterMaxPriority(RefreshClusterMaxPriorityRequest.newInstance()); refreshClusterMaxPriority(RefreshClusterMaxPriorityRequest.newInstance());
} catch (Exception ex) { } catch (Exception ex) {
throw new ServiceFailedException(ex.getMessage()); throw new ServiceFailedException("RefreshAll operation failed", ex);
} }
} }

View File

@ -252,15 +252,6 @@ protected void serviceInit(Configuration conf) throws Exception {
this.rmContext.setHAEnabled(HAUtil.isHAEnabled(this.conf)); this.rmContext.setHAEnabled(HAUtil.isHAEnabled(this.conf));
if (this.rmContext.isHAEnabled()) { if (this.rmContext.isHAEnabled()) {
HAUtil.verifyAndSetConfiguration(this.conf); HAUtil.verifyAndSetConfiguration(this.conf);
// If the RM is configured to use an embedded leader elector,
// initialize the leader elector.
if (HAUtil.isAutomaticFailoverEnabled(conf) &&
HAUtil.isAutomaticFailoverEmbedded(conf)) {
EmbeddedElector elector = createEmbeddedElector();
addIfService(elector);
rmContext.setLeaderElectorService(elector);
}
} }
// Set UGI and do login // Set UGI and do login
@ -278,10 +269,27 @@ protected void serviceInit(Configuration conf) throws Exception {
addIfService(rmDispatcher); addIfService(rmDispatcher);
rmContext.setDispatcher(rmDispatcher); rmContext.setDispatcher(rmDispatcher);
// The order of services below should not be changed as services will be
// started in same order
// As elector service needs admin service to be initialized and started,
// first we add admin service then elector service
adminService = createAdminService(); adminService = createAdminService();
addService(adminService); addService(adminService);
rmContext.setRMAdminService(adminService); rmContext.setRMAdminService(adminService);
// elector must be added post adminservice
if (this.rmContext.isHAEnabled()) {
// If the RM is configured to use an embedded leader elector,
// initialize the leader elector.
if (HAUtil.isAutomaticFailoverEnabled(conf)
&& HAUtil.isAutomaticFailoverEmbedded(conf)) {
EmbeddedElector elector = createEmbeddedElector();
addIfService(elector);
rmContext.setLeaderElectorService(elector);
}
}
rmContext.setYarnConfiguration(conf); rmContext.setYarnConfiguration(conf);
createAndInitActiveServices(); createAndInitActiveServices();