Repository: ambari
Updated Branches:
  refs/heads/trunk 5cd87b03c -> 6994fc7b0


AMBARI-12486. Enabling namenode HA fails when non default ports are used. 
(Juanjo Marron via Jaimin Jetly)


Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/6994fc7b
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/6994fc7b
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/6994fc7b

Branch: refs/heads/trunk
Commit: 6994fc7b04c75253984f6ca068f7e597bab635cd
Parents: 5cd87b0
Author: Jaimin Jetly <[email protected]>
Authored: Wed Oct 14 13:34:39 2015 -0700
Committer: Jaimin Jetly <[email protected]>
Committed: Wed Oct 14 13:35:45 2015 -0700

----------------------------------------------------------------------
 .../nameNode/step3_controller.js                | 25 ++++++++++++++++----
 1 file changed, 21 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ambari/blob/6994fc7b/ambari-web/app/controllers/main/admin/highAvailability/nameNode/step3_controller.js
----------------------------------------------------------------------
diff --git 
a/ambari-web/app/controllers/main/admin/highAvailability/nameNode/step3_controller.js
 
b/ambari-web/app/controllers/main/admin/highAvailability/nameNode/step3_controller.js
index 5418a77..20b6ce7 100644
--- 
a/ambari-web/app/controllers/main/admin/highAvailability/nameNode/step3_controller.js
+++ 
b/ambari-web/app/controllers/main/admin/highAvailability/nameNode/step3_controller.js
@@ -61,10 +61,13 @@ App.HighAvailabilityWizardStep3Controller = 
Em.Controller.extend({
     var urlParams = [];
     var hdfsSiteTag = data.Clusters.desired_configs['hdfs-site'].tag;
     var coreSiteTag = data.Clusters.desired_configs['core-site'].tag;
+    var zkSiteTag = data.Clusters.desired_configs['zoo.cfg'].tag;
     urlParams.push('(type=hdfs-site&tag=' + hdfsSiteTag + ')');
     urlParams.push('(type=core-site&tag=' + coreSiteTag + ')');
+    urlParams.push('(type=zoo.cfg&tag=' + zkSiteTag  + ')');
     this.set("hdfsSiteTag", {name : "hdfsSiteTag", value : hdfsSiteTag});
     this.set("coreSiteTag", {name : "coreSiteTag", value : coreSiteTag});
+    this.set("zkSiteTag", {name : "zkSiteTag", value : zkSiteTag});
 
     if (App.Service.find().someProperty('serviceName', 'HBASE')) {
       var hbaseSiteTag = data.Clusters.desired_configs['hbase-site'].tag;
@@ -121,22 +124,36 @@ App.HighAvailabilityWizardStep3Controller = 
Em.Controller.extend({
     var newNameNodeHost = 
this.get('content.masterComponentHosts').filterProperty('component', 
'NAMENODE').findProperty('isInstalled', false).hostName;
     var journalNodeHosts = 
this.get('content.masterComponentHosts').filterProperty('component', 
'JOURNALNODE').mapProperty('hostName');
     var zooKeeperHosts = 
this.get('content.masterComponentHosts').filterProperty('component', 
'ZOOKEEPER_SERVER').mapProperty('hostName');
+    
+    var nnHttpPort = 50070;
+    if 
(this.get('serverConfigData').items.findProperty('type','hdfs-site').properties['dfs.namenode.http-address'])
+      nnHttpPort = 
this.get('serverConfigData').items.findProperty('type','hdfs-site').properties['dfs.namenode.http-address'].split(':')[1];
+    var nnHttpsPort = 50470;
+    if 
(this.get('serverConfigData').items.findProperty('type','hdfs-site').properties['dfs.namenode.https-address'])
+      nnHttpsPort = 
this.get('serverConfigData').items.findProperty('type','hdfs-site').properties['dfs.namenode.https-address'].split(':')[1];
+    var nnRpcPort = 8020;
+    if 
(this.get('serverConfigData').items.findProperty('type','hdfs-site').properties['dfs.namenode.rpc-address'])
+      nnRpcPort = 
this.get('serverConfigData').items.findProperty('type','hdfs-site').properties['dfs.namenode.rpc-address'].split(':')[1];
+    var zkClientPort = 2181;
+    if 
(this.get('serverConfigData').items.findProperty('type','zoo.cfg').properties['clientPort'])
+      zkClientPort = 
this.get('serverConfigData').items.findProperty('type','zoo.cfg').properties['clientPort'];
+
     var config = configs.findProperty('name','dfs.namenode.rpc-address.' + 
nameServiceId + '.nn1');
-    this.setConfigInitialValue(config,currentNameNodeHost + ':8020');
+    this.setConfigInitialValue(config,currentNameNodeHost + ':' + nnRpcPort);
     config = configs.findProperty('name','dfs.namenode.rpc-address.' + 
nameServiceId + '.nn2');
     this.setConfigInitialValue(config,newNameNodeHost + ':8020');
     config = configs.findProperty('name','dfs.namenode.http-address.' + 
nameServiceId + '.nn1');
-    this.setConfigInitialValue(config,currentNameNodeHost + ':50070');
+    this.setConfigInitialValue(config,currentNameNodeHost + ':' + nnHttpPort);
     config = configs.findProperty('name','dfs.namenode.http-address.' + 
nameServiceId + '.nn2');
     this.setConfigInitialValue(config,newNameNodeHost + ':50070');
     config = configs.findProperty('name','dfs.namenode.https-address.' + 
nameServiceId + '.nn1');
-    this.setConfigInitialValue(config,currentNameNodeHost + ':50470');
+    this.setConfigInitialValue(config,currentNameNodeHost + ':' + nnHttpsPort);
     config = configs.findProperty('name','dfs.namenode.https-address.' + 
nameServiceId + '.nn2');
     this.setConfigInitialValue(config,newNameNodeHost + ':50470');
     config = configs.findProperty('name','dfs.namenode.shared.edits.dir');
     this.setConfigInitialValue(config,'qjournal://' + journalNodeHosts[0] + 
':8485;' + journalNodeHosts[1] + ':8485;' + journalNodeHosts[2] + ':8485/' + 
nameServiceId);
     config = configs.findProperty('name','ha.zookeeper.quorum');
-    this.setConfigInitialValue(config,zooKeeperHosts[0] + ':2181,' + 
zooKeeperHosts[1] + ':2181,' + zooKeeperHosts[2] + ':2181');
+    this.setConfigInitialValue(config,zooKeeperHosts[0] + ':' + zkClientPort + 
',' + zooKeeperHosts[1] + ':' + zkClientPort + ',' + zooKeeperHosts[2] + ':'+ 
zkClientPort  );
     config = configs.findProperty('name','hbase.rootdir');
     if (App.Service.find().someProperty('serviceName', 'HBASE')) {
      var value = this.get('serverConfigData.items').findProperty('type', 
'hbase-site').properties['hbase.rootdir'].replace(/\/\/[^\/]*/, '//' + 
nameServiceId);

Reply via email to