You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ambari.apache.org by ab...@apache.org on 2015/12/29 16:48:26 UTC
ambari git commit: AMBARI-14518 hadoop.proxyuser.yarn.hosts does not
include both RM's in HA deployment. (ababiichuk)
Repository: ambari
Updated Branches:
refs/heads/branch-2.2 305e67be7 -> cd8f7227a
AMBARI-14518 hadoop.proxyuser.yarn.hosts does not include both RM's in HA deployment. (ababiichuk)
Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/cd8f7227
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/cd8f7227
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/cd8f7227
Branch: refs/heads/branch-2.2
Commit: cd8f7227afbaf6dc9f5a00727bdeac7c533b6c84
Parents: 305e67b
Author: ababiichuk <ab...@hortonworks.com>
Authored: Tue Dec 29 17:01:12 2015 +0200
Committer: ababiichuk <ab...@hortonworks.com>
Committed: Tue Dec 29 17:01:12 2015 +0200
----------------------------------------------------------------------
.../resourceManager/step3_controller.js | 19 +++++++--
.../resourceManager/step4_controller.js | 24 +++++++----
ambari-web/app/data/HDP2/rm_ha_properties.js | 18 +++++++-
ambari-web/app/messages.js | 3 +-
.../resourceManager/step3_controller_test.js | 43 ++++++++++++++++++--
5 files changed, 89 insertions(+), 18 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ambari/blob/cd8f7227/ambari-web/app/controllers/main/admin/highAvailability/resourceManager/step3_controller.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/controllers/main/admin/highAvailability/resourceManager/step3_controller.js b/ambari-web/app/controllers/main/admin/highAvailability/resourceManager/step3_controller.js
index 6296f02..3db9c07 100644
--- a/ambari-web/app/controllers/main/admin/highAvailability/resourceManager/step3_controller.js
+++ b/ambari-web/app/controllers/main/admin/highAvailability/resourceManager/step3_controller.js
@@ -73,7 +73,8 @@ App.RMHighAvailabilityWizardStep3Controller = Em.Controller.extend({
loadConfigTagsSuccessCallback: function (data, opt, params) {
var urlParams = '(type=zoo.cfg&tag=' + data.Clusters.desired_configs['zoo.cfg'].tag + ')|' +
- '(type=yarn-site&tag=' + data.Clusters.desired_configs['yarn-site'].tag + ')';
+ '(type=yarn-site&tag=' + data.Clusters.desired_configs['yarn-site'].tag + ')|' +
+ '(type=yarn-env&tag=' + data.Clusters.desired_configs['yarn-env'].tag + ')';
App.ajax.send({
name: 'reassign.load_configs',
sender: this,
@@ -90,17 +91,19 @@ App.RMHighAvailabilityWizardStep3Controller = Em.Controller.extend({
var
zooCfg = data && data.items ? data.items.findProperty('type', 'zoo.cfg') : null,
yarnSite = data && data.items ? data.items.findProperty('type', 'yarn-site') : null,
+ yarnEnv = data && data.items ? data.items.findProperty('type', 'yarn-env') : null,
portValue = zooCfg && Em.get(zooCfg, 'properties.clientPort'),
zkPort = portValue ? portValue : '2181',
webAddressPort = yarnSite && yarnSite.properties ? yarnSite.properties['yarn.resourcemanager.webapp.address'] : null,
- httpsWebAddressPort = yarnSite && yarnSite.properties ? yarnSite. properties['yarn.resourcemanager.webapp.https.address'] : null;
+ httpsWebAddressPort = yarnSite && yarnSite.properties ? yarnSite.properties['yarn.resourcemanager.webapp.https.address'] : null,
+ yarnUser = yarnEnv && yarnEnv.properties ? yarnEnv.properties['yarn_user'] : null,
webAddressPort = webAddressPort && webAddressPort.match(/:[0-9]*/g) ? webAddressPort.match(/:[0-9]*/g)[0] : ":8088";
httpsWebAddressPort = httpsWebAddressPort && httpsWebAddressPort.match(/:[0-9]*/g) ? httpsWebAddressPort.match(/:[0-9]*/g)[0] : ":8090";
params = params.serviceConfig ? params.serviceConfig : arguments[4].serviceConfig;
- this.setDynamicConfigValues(params, zkPort, webAddressPort, httpsWebAddressPort);
+ this.setDynamicConfigValues(params, zkPort, webAddressPort, httpsWebAddressPort, yarnUser);
this.setProperties({
selectedService: params,
isLoaded: true
@@ -113,12 +116,14 @@ App.RMHighAvailabilityWizardStep3Controller = Em.Controller.extend({
* @param zkPort
* @param webAddressPort
* @param httpsWebAddressPort
+ * @param yarnUser
*/
- setDynamicConfigValues: function (configs, zkPort, webAddressPort, httpsWebAddressPort) {
+ setDynamicConfigValues: function (configs, zkPort, webAddressPort, httpsWebAddressPort, yarnUser) {
var
configProperties = configs.configs,
currentRMHost = this.get('content.rmHosts.currentRM'),
additionalRMHost = this.get('content.rmHosts.additionalRM'),
+ rmHosts = currentRMHost + ',' + additionalRMHost,
zooKeeperHostsWithPort = App.HostComponent.find().filterProperty('componentName', 'ZOOKEEPER_SERVER').map(function (item) {
return item.get('hostName') + ':' + zkPort;
}).join(',');
@@ -142,6 +147,12 @@ App.RMHighAvailabilityWizardStep3Controller = Em.Controller.extend({
configProperties.findProperty('name', 'yarn.resourcemanager.webapp.https.address.rm2')
.set('value', additionalRMHost + httpsWebAddressPort)
.set('recommendedValue', additionalRMHost + httpsWebAddressPort);
+
+ var proxyUserConfig = App.ServiceConfigProperty.create(App.config.createDefaultConfig('hadoop.proxyuser.' + yarnUser + '.hosts',
+ 'MISC', 'core-site', false, {category : "HDFS", isUserProperty: false, isEditable: false, isOverridable: false}));
+ configProperties.pushObject(proxyUserConfig);
+
+ proxyUserConfig.setProperties({'value': rmHosts, 'recommendedValue': rmHosts});
},
/**
http://git-wip-us.apache.org/repos/asf/ambari/blob/cd8f7227/ambari-web/app/controllers/main/admin/highAvailability/resourceManager/step4_controller.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/controllers/main/admin/highAvailability/resourceManager/step4_controller.js b/ambari-web/app/controllers/main/admin/highAvailability/resourceManager/step4_controller.js
index 697ed1a..221e06b 100644
--- a/ambari-web/app/controllers/main/admin/highAvailability/resourceManager/step4_controller.js
+++ b/ambari-web/app/controllers/main/admin/highAvailability/resourceManager/step4_controller.js
@@ -26,7 +26,7 @@ App.RMHighAvailabilityWizardStep4Controller = App.HighAvailabilityProgressPageCo
clusterDeployState: 'RM_HIGH_AVAILABILITY_DEPLOY',
- commands: ['stopRequiredServices', 'installResourceManager', 'reconfigureYARN', 'startAllServices'],
+ commands: ['stopRequiredServices', 'installResourceManager', 'reconfigureYARN', 'reconfigureHDFS', 'startAllServices'],
tasksMessagesPrefix: 'admin.rm_highAvailability.wizard.step',
@@ -40,37 +40,45 @@ App.RMHighAvailabilityWizardStep4Controller = App.HighAvailabilityProgressPageCo
},
reconfigureYARN: function () {
- this.loadConfigsTags();
+ this.loadConfigsTags('yarn-site');
},
- loadConfigsTags: function () {
+ reconfigureHDFS: function () {
+ this.loadConfigsTags('core-site');
+ },
+
+ loadConfigsTags: function (type) {
App.ajax.send({
name: 'config.tags',
sender: this,
+ data: {
+ type: type
+ },
success: 'onLoadConfigsTags',
error: 'onTaskError'
});
},
- onLoadConfigsTags: function (data) {
+ onLoadConfigsTags: function (data, opt, params) {
App.ajax.send({
name: 'reassign.load_configs',
sender: this,
data: {
- urlParams: '(type=yarn-site&tag=' + data.Clusters.desired_configs['yarn-site'].tag + ')'
+ urlParams: '(type=' + params.type +'&tag=' + data.Clusters.desired_configs[params.type].tag + ')',
+ type: params.type
},
success: 'onLoadConfigs',
error: 'onTaskError'
});
},
- onLoadConfigs: function (data) {
- var propertiesToAdd = this.get('content.configs');
+ onLoadConfigs: function (data, opt, params) {
+ var propertiesToAdd = this.get('content.configs').filterProperty('filename', params.type);
propertiesToAdd.forEach(function (property) {
data.items[0].properties[property.name] = property.value;
});
- var configData = this.reconfigureSites(['yarn-site'], data, Em.I18n.t('admin.highAvailability.step4.save.configuration.note').format(App.format.role('RESOURCEMANAGER')));
+ var configData = this.reconfigureSites([params.type], data, Em.I18n.t('admin.highAvailability.step4.save.configuration.note').format(App.format.role('RESOURCEMANAGER')));
App.ajax.send({
name: 'common.service.configurations',
http://git-wip-us.apache.org/repos/asf/ambari/blob/cd8f7227/ambari-web/app/data/HDP2/rm_ha_properties.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/data/HDP2/rm_ha_properties.js b/ambari-web/app/data/HDP2/rm_ha_properties.js
index 59bb24b..cb8dd8c 100644
--- a/ambari-web/app/data/HDP2/rm_ha_properties.js
+++ b/ambari-web/app/data/HDP2/rm_ha_properties.js
@@ -22,9 +22,10 @@ module.exports =
serviceName: 'MISC',
displayName: 'MISC',
configCategories: [
- App.ServiceConfigCategory.create({ name: 'YARN', displayName: 'YARN'})
+ App.ServiceConfigCategory.create({ name: 'YARN', displayName: 'YARN'}),
+ App.ServiceConfigCategory.create({ name: 'HDFS', displayName: 'HDFS'})
],
- sites: ['yarn-site'],
+ sites: ['yarn-site', 'core-site'],
configs: [
/**********************************************HDFS***************************************/
{
@@ -32,6 +33,7 @@ module.exports =
"displayName": "yarn.resourcemanager.ha.enabled",
"isReconfigurable": false,
"recommendedValue": true,
+ "isOverridable": false,
"value": true,
"displayType": "checkbox",
"category": "YARN",
@@ -43,6 +45,7 @@ module.exports =
"displayName": "yarn.resourcemanager.ha.rm-ids",
"isReconfigurable": false,
"recommendedValue": "rm1,rm2",
+ "isOverridable": false,
"value": "rm1,rm2",
"category": "YARN",
"filename": "yarn-site",
@@ -53,6 +56,7 @@ module.exports =
"displayName": "yarn.resourcemanager.hostname.rm1",
"isReconfigurable": false,
"recommendedValue": "",
+ "isOverridable": false,
"value": "",
"category": "YARN",
"filename": "yarn-site",
@@ -64,6 +68,7 @@ module.exports =
"displayName": "yarn.resourcemanager.webapp.address.rm1",
"isReconfigurable": false,
"recommendedValue": "",
+ "isOverridable": false,
"value": "",
"category": "YARN",
"filename": "yarn-site",
@@ -74,6 +79,7 @@ module.exports =
"displayName": "yarn.resourcemanager.webapp.address.rm2",
"isReconfigurable": false,
"recommendedValue": "",
+ "isOverridable": false,
"value": "",
"category": "YARN",
"filename": "yarn-site",
@@ -84,6 +90,7 @@ module.exports =
"displayName": "yarn.resourcemanager.webapp.https.address.rm1",
"isReconfigurable": false,
"recommendedValue": "",
+ "isOverridable": false,
"value": "",
"category": "YARN",
"filename": "yarn-site",
@@ -94,6 +101,7 @@ module.exports =
"displayName": "yarn.resourcemanager.webapp.https.address.rm2",
"isReconfigurable": false,
"recommendedValue": "",
+ "isOverridable": false,
"value": "",
"category": "YARN",
"filename": "yarn-site",
@@ -105,6 +113,7 @@ module.exports =
"displayName": "yarn.resourcemanager.hostname.rm2",
"isReconfigurable": false,
"recommendedValue": "",
+ "isOverridable": false,
"value": "",
"category": "YARN",
"filename": "yarn-site",
@@ -115,6 +124,7 @@ module.exports =
"displayName": "yarn.resourcemanager.recovery.enabled",
"isReconfigurable": false,
"recommendedValue": true,
+ "isOverridable": false,
"value": true,
"displayType": "checkbox",
"category": "YARN",
@@ -126,6 +136,7 @@ module.exports =
"displayName": "yarn.resourcemanager.store.class",
"isReconfigurable": false,
"recommendedValue": "org.apache.hadoop.yarn.server.resourcemanager.recovery.ZKRMStateStore",
+ "isOverridable": false,
"value": "org.apache.hadoop.yarn.server.resourcemanager.recovery.ZKRMStateStore",
"category": "YARN",
"filename": "yarn-site",
@@ -136,6 +147,7 @@ module.exports =
"displayName": "yarn.resourcemanager.zk-address",
"isReconfigurable": false,
"recommendedValue": "",
+ "isOverridable": false,
"value": "",
"category": "YARN",
"filename": "yarn-site",
@@ -146,6 +158,7 @@ module.exports =
"displayName": "yarn.resourcemanager.cluster-id",
"isReconfigurable": false,
"recommendedValue": "yarn-cluster",
+ "isOverridable": false,
"value": "yarn-cluster",
"category": "YARN",
"filename": "yarn-site",
@@ -156,6 +169,7 @@ module.exports =
"displayName": "yarn.resourcemanager.ha.automatic-failover.zk-base-path",
"isReconfigurable": false,
"recommendedValue": "/yarn-leader-election",
+ "isOverridable": false,
"value": "/yarn-leader-election",
"category": "YARN",
"filename": "yarn-site",
http://git-wip-us.apache.org/repos/asf/ambari/blob/cd8f7227/ambari-web/app/messages.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/messages.js b/ambari-web/app/messages.js
index 7b409c6..f52b325 100644
--- a/ambari-web/app/messages.js
+++ b/ambari-web/app/messages.js
@@ -1311,7 +1311,8 @@ Em.I18n.translations = {
'admin.rm_highAvailability.wizard.step4.task0.title': 'Stop Required Services',
'admin.rm_highAvailability.wizard.step4.task1.title': 'Install Additional ResourceManager',
'admin.rm_highAvailability.wizard.step4.task2.title': 'Reconfigure YARN',
- 'admin.rm_highAvailability.wizard.step4.task3.title': 'Start All Services',
+ 'admin.rm_highAvailability.wizard.step4.task3.title': 'Reconfigure HDFS',
+ 'admin.rm_highAvailability.wizard.step4.task4.title': 'Start All Services',
'admin.rm_highAvailability.wizard.step4.notice.inProgress':'Please wait while ResourceManager HA is being deployed.',
'admin.rm_highAvailability.wizard.step4.notice.completed':'ResourceManager HA has been enabled successfully.',
http://git-wip-us.apache.org/repos/asf/ambari/blob/cd8f7227/ambari-web/test/controllers/main/admin/highAvailability/resourceManager/step3_controller_test.js
----------------------------------------------------------------------
diff --git a/ambari-web/test/controllers/main/admin/highAvailability/resourceManager/step3_controller_test.js b/ambari-web/test/controllers/main/admin/highAvailability/resourceManager/step3_controller_test.js
index d9ed1df..f702f64 100644
--- a/ambari-web/test/controllers/main/admin/highAvailability/resourceManager/step3_controller_test.js
+++ b/ambari-web/test/controllers/main/admin/highAvailability/resourceManager/step3_controller_test.js
@@ -67,6 +67,9 @@ describe('App.RMHighAvailabilityWizardStep3Controller', function () {
},
'yarn-site': {
'tag': 1
+ },
+ 'yarn-env': {
+ 'tag': 1
}
}
}
@@ -74,7 +77,7 @@ describe('App.RMHighAvailabilityWizardStep3Controller', function () {
'serviceConfig': {}
});
var data = App.ajax.send.args[0][0].data;
- expect(data.urlParams).to.equal('(type=zoo.cfg&tag=1)|(type=yarn-site&tag=1)');
+ expect(data.urlParams).to.equal('(type=zoo.cfg&tag=1)|(type=yarn-site&tag=1)|(type=yarn-env&tag=1)');
expect(data.serviceConfig).to.eql({});
});
@@ -92,6 +95,7 @@ describe('App.RMHighAvailabilityWizardStep3Controller', function () {
'port': '2181',
'webAddressPort' : ':8088',
'httpsWebAddressPort' : ':8090',
+ 'yarnUser': null,
'title': 'empty response'
},
{
@@ -109,6 +113,7 @@ describe('App.RMHighAvailabilityWizardStep3Controller', function () {
'port': '2181',
'webAddressPort' : ':8088',
'httpsWebAddressPort' : ':8090',
+ 'yarnUser': null,
'title': 'no zoo.cfg properties received'
},
{
@@ -132,6 +137,7 @@ describe('App.RMHighAvailabilityWizardStep3Controller', function () {
'port': '2181',
'webAddressPort' : ':8088',
'httpsWebAddressPort' : ':8090',
+ 'yarnUser': null,
'title': 'no clientPort property received'
},
{
@@ -139,6 +145,36 @@ describe('App.RMHighAvailabilityWizardStep3Controller', function () {
{
'type': 'zoo.cfg',
'properties': {
+ 'n': 'v'
+ }
+ },
+ {
+ 'type': 'yarn-site',
+ 'properties': {
+ 'n': 'v'
+ }
+ },
+ {
+ 'type': 'yarn-env',
+ 'properties': {
+ 'yarn_user': 'yarn'
+ }
+ }
+ ],
+ 'params': {
+ 'serviceConfig': {}
+ },
+ 'port': '2181',
+ 'webAddressPort' : ':8088',
+ 'httpsWebAddressPort' : ':8090',
+ 'yarnUser': 'yarn',
+ 'title': 'set yarn user'
+ },
+ {
+ 'items': [
+ {
+ 'type': 'zoo.cfg',
+ 'properties': {
'clientPort': '2182'
}
},
@@ -156,6 +192,7 @@ describe('App.RMHighAvailabilityWizardStep3Controller', function () {
'port': '2182',
'webAddressPort' : ':7777',
'httpsWebAddressPort' : ':8888',
+ 'yarnUser': null,
'title': 'clientPort property received'
}
];
@@ -173,7 +210,7 @@ describe('App.RMHighAvailabilityWizardStep3Controller', function () {
controller.loadConfigsSuccessCallback({
items: item.items
}, {}, item.params);
- expect(controller.setDynamicConfigValues.args[0]).to.eql([{}, item.port, item.webAddressPort, item.httpsWebAddressPort]);
+ expect(controller.setDynamicConfigValues.args[0]).to.eql([{}, item.port, item.webAddressPort, item.httpsWebAddressPort, item.yarnUser]);
expect(controller.get('selectedService')).to.eql({});
expect(controller.get('isLoaded')).to.be.true;
});
@@ -198,7 +235,7 @@ describe('App.RMHighAvailabilityWizardStep3Controller', function () {
serviceConfig: {}
});
console.error("test_alex!!!!!",controller.setDynamicConfigValues.args[0]);
- expect(controller.setDynamicConfigValues.args[0]).to.eql([{}, '2181', ':8088', ':8090']);
+ expect(controller.setDynamicConfigValues.args[0]).to.eql([{}, '2181', ':8088', ':8090', null]);
expect(controller.get('selectedService')).to.eql({});
expect(controller.get('isLoaded')).to.be.true;
});