Browse Source

YARN-2805. Fixed ResourceManager to load HA configs correctly before kerberos login. Contributed by Wangda Tan.

(cherry picked from commit 834e931d8efe4d806347b266e7e62929ce05389b)
Vinod Kumar Vavilapalli 10 năm trước cách đây
mục cha
commit
3bc31e35a6

+ 3 - 0
hadoop-yarn-project/CHANGES.txt

@@ -838,6 +838,9 @@ Release 2.6.0 - UNRELEASED
     YARN-2767. Added a test case to verify that http static user cannot kill or submit
     apps in the secure mode. (Varun Vasudev via zjshen)
 
+    YARN-2805. Fixed ResourceManager to load HA configs correctly before kerberos
+    login. (Wangda Tan via vinodkv)
+
 Release 2.5.2 - UNRELEASED
 
   INCOMPATIBLE CHANGES

+ 6 - 5
hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/ResourceManager.java

@@ -194,6 +194,12 @@ public class ResourceManager extends CompositeService implements Recoverable {
     this.conf = conf;
     this.rmContext = new RMContextImpl();
     
+    // Set HA configuration should be done before login
+    this.rmContext.setHAEnabled(HAUtil.isHAEnabled(this.conf));
+    if (this.rmContext.isHAEnabled()) {
+      HAUtil.verifyAndSetConfiguration(this.conf);
+    }
+    
     // Set UGI and do login
     // If security is enabled, use login user
     // If security is not enabled, use current user
@@ -245,11 +251,6 @@ public class ResourceManager extends CompositeService implements Recoverable {
     adminService = createAdminService();
     addService(adminService);
     rmContext.setRMAdminService(adminService);
-
-    this.rmContext.setHAEnabled(HAUtil.isHAEnabled(this.conf));
-    if (this.rmContext.isHAEnabled()) {
-      HAUtil.verifyAndSetConfiguration(this.conf);
-    }
     
     createAndInitActiveServices();