You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ambari.apache.org by ak...@apache.org on 2018/04/20 16:15:57 UTC
[ambari] branch trunk updated: AMBARI-23634. NN Federation Wizard:
should work fine for multiple runs (akovalenko)
This is an automated email from the ASF dual-hosted git repository.
akovalenko pushed a commit to branch trunk
in repository https://gitbox.apache.org/repos/asf/ambari.git
The following commit(s) were added to refs/heads/trunk by this push:
new 658c93d AMBARI-23634. NN Federation Wizard: should work fine for multiple runs (akovalenko)
658c93d is described below
commit 658c93dc66f2d91d7b701ae92ca1cc8ff48395e7
Author: Aleksandr Kovalenko <ak...@apache.org>
AuthorDate: Fri Apr 20 17:39:16 2018 +0300
AMBARI-23634. NN Federation Wizard: should work fine for multiple runs (akovalenko)
---
.../main/admin/federation/step3_controller.js | 65 ++++++----
.../main/admin/federation/step4_controller.js | 64 +++++-----
.../data/configs/wizards/federation_properties.js | 140 +++++++++------------
3 files changed, 138 insertions(+), 131 deletions(-)
diff --git a/ambari-web/app/controllers/main/admin/federation/step3_controller.js b/ambari-web/app/controllers/main/admin/federation/step3_controller.js
index 748c19f..448db0a 100644
--- a/ambari-web/app/controllers/main/admin/federation/step3_controller.js
+++ b/ambari-web/app/controllers/main/admin/federation/step3_controller.js
@@ -23,7 +23,6 @@ App.NameNodeFederationWizardStep3Controller = Em.Controller.extend(App.Blueprint
selectedService: null,
stepConfigs: [],
serverConfigData: {},
- federationConfig: {},
once: false,
isLoaded: false,
isConfigsLoaded: false,
@@ -43,7 +42,6 @@ App.NameNodeFederationWizardStep3Controller = Em.Controller.extend(App.Blueprint
this.set('serverConfigData', {});
this.set('isConfigsLoaded', false);
this.set('isLoaded', false);
- this.set('federationConfig', $.extend(true, {}, require('data/configs/wizards/federation_properties').federationConfig))
},
loadStep: function () {
@@ -85,7 +83,10 @@ App.NameNodeFederationWizardStep3Controller = Em.Controller.extend(App.Blueprint
onLoad: function () {
if (this.get('isConfigsLoaded') && App.router.get('clusterController.isHDFSNameSpacesLoaded')) {
- var federationConfig = this.get('federationConfig');
+ var federationConfig = $.extend(true, {}, require('data/configs/wizards/federation_properties').federationConfig);
+ if (App.get('hasNameNodeFederation')) {
+ federationConfig.configs = federationConfig.configs.rejectProperty('firstRun');
+ }
federationConfig.configs = this.tweakServiceConfigs(federationConfig.configs);
this.removeConfigs(this.get('configsToRemove'), this.get('serverConfigData'));
this.renderServiceConfigs(federationConfig);
@@ -99,12 +100,16 @@ App.NameNodeFederationWizardStep3Controller = Em.Controller.extend(App.Blueprint
var journalNodes = App.HostComponent.find().filterProperty('componentName', 'JOURNALNODE');
var nameNodes = this.get('content.masterComponentHosts').filterProperty('component', 'NAMENODE');
var hdfsSiteConfigs = configsFromServer.findProperty('type', 'hdfs-site').properties;
- ret.nameservice1 = App.HDFSService.find().objectAt(0).get('masterComponentGroups')[0].name;
- ret.nameservice2 = this.get('content.nameServiceId');
+ var nameServices = App.HDFSService.find().objectAt(0).get('masterComponentGroups').mapProperty('name');
+ ret.nameServicesList = nameServices.join(',');
+ ret.nameservice1 = nameServices[0];
+ ret.newNameservice = this.get('content.nameServiceId');
ret.namenode1 = hdfsSiteConfigs['dfs.namenode.rpc-address.' + ret.nameservice1 + '.nn1'].split(':')[0];
ret.namenode2 = hdfsSiteConfigs['dfs.namenode.rpc-address.' + ret.nameservice1 + '.nn2'].split(':')[0];
- ret.namenode3 = nameNodes.filterProperty('isInstalled', false).mapProperty('hostName')[0];
- ret.namenode4 = nameNodes.filterProperty('isInstalled', false).mapProperty('hostName')[1];
+ ret.newNameNode1Index = 'nn' + (nameNodes.length - 1);
+ ret.newNameNode2Index = 'nn' + nameNodes.length;
+ ret.newNameNode1 = nameNodes.filterProperty('isInstalled', false).mapProperty('hostName')[0];
+ ret.newNameNode2 = nameNodes.filterProperty('isInstalled', false).mapProperty('hostName')[1];
ret.journalnodes = journalNodes.map(function (c) {
return c.get('hostName') + ':8485'
}).join(';');
@@ -121,23 +126,13 @@ App.NameNodeFederationWizardStep3Controller = Em.Controller.extend(App.Blueprint
ret.journalnode_edits_dir = hdfsSiteConfigs['dfs.journalnode.edits.dir'];
- if (App.Service.find().someProperty('serviceName', 'RANGER')) {
- var hdfsRangerConfigs = configsFromServer.findProperty('type', 'ranger-hdfs-security').properties;
-
- if (hdfsRangerConfigs['ranger.plugin.hdfs.service.name'] === '{{repo_name}}') {
- ret.ranger_service_name_ns1 = ret.clustername + '_hadoop_' + ret.nameservice1;
- ret.ranger_service_name_ns2 = ret.clustername + '_hadoop_' + ret.nameservice2;
- } else {
- ret.ranger_service_name_ns1 = hdfsRangerConfigs['ranger.plugin.hdfs.service.name'] + '_' + ret.nameservice1;
- ret.ranger_service_name_ns2 = hdfsRangerConfigs['ranger.plugin.hdfs.service.name'] + '_' + ret.nameservice2;
- }
- }
-
return ret;
},
tweakServiceConfigs: function (configs) {
var dependencies = this.prepareDependencies();
+ var nameServices = App.HDFSService.find().objectAt(0).get('masterComponentGroups').mapProperty('name');
+ nameServices.push(dependencies.newNameservice);
var result = [];
var configsToRemove = [];
var hdfsSiteConfigs = this.get('serverConfigData').items.findProperty('type', 'hdfs-site').properties;
@@ -146,11 +141,25 @@ App.NameNodeFederationWizardStep3Controller = Em.Controller.extend(App.Blueprint
configsToRemove = configsToRemove.concat([
'dfs.namenode.servicerpc-address.{{nameservice1}}.nn1',
'dfs.namenode.servicerpc-address.{{nameservice1}}.nn2',
- 'dfs.namenode.servicerpc-address.{{nameservice2}}.nn3',
- 'dfs.namenode.servicerpc-address.{{nameservice2}}.nn4'
+ 'dfs.namenode.servicerpc-address.{{newNameservice}}.{{newNameNode1Index}}',
+ 'dfs.namenode.servicerpc-address.{{newNameservice}}.{{newNameNode2Index}}'
]);
}
+ if (App.Service.find().someProperty('serviceName', 'RANGER')) {
+ var hdfsRangerConfigs = this.get('serverConfigData').items.findProperty('type', 'ranger-hdfs-security').properties;
+
+ if (hdfsRangerConfigs['ranger.plugin.hdfs.service.name'] === '{{repo_name}}') {
+ nameServices.forEach(function (nameService) {
+ configs.push(this.createRangerServiceProperty(nameService, dependencies.clustername + '_hadoop_' + nameService));
+ }, this);
+ } else {
+ nameServices.forEach(function (nameService) {
+ configs.push(this.createRangerServiceProperty(nameService, hdfsRangerConfigs['ranger.plugin.hdfs.service.name'] + '_' + nameService));
+ }, this);
+ }
+ }
+
configs.forEach(function (config) {
if (!configsToRemove.contains(config.name)) {
config.isOverridable = false;
@@ -165,6 +174,20 @@ App.NameNodeFederationWizardStep3Controller = Em.Controller.extend(App.Blueprint
return result;
},
+ createRangerServiceProperty: function(nameservice, value) {
+ var name = "ranger.tagsync.atlas.hdfs.instance." + App.get('clusterName') + ".nameservice." + nameservice + ".ranger.service";
+ return {
+ "name": name,
+ "displayName": name,
+ "isReconfigurable": false,
+ "recommendedValue": value,
+ "value": value,
+ "category": "RANGER",
+ "filename": "ranger-tagsync-site",
+ "serviceName": 'MISC'
+ };
+ },
+
replaceDependencies: function (value, dependencies) {
Em.keys(dependencies).forEach(function (key) {
value = value.replace(new RegExp('{{' + key + '}}', 'g'), dependencies[key]);
diff --git a/ambari-web/app/controllers/main/admin/federation/step4_controller.js b/ambari-web/app/controllers/main/admin/federation/step4_controller.js
index 969b5bd..f5022ed 100644
--- a/ambari-web/app/controllers/main/admin/federation/step4_controller.js
+++ b/ambari-web/app/controllers/main/admin/federation/step4_controller.js
@@ -132,50 +132,50 @@ App.NameNodeFederationWizardStep4Controller = App.HighAvailabilityProgressPageCo
createWidgets: function () {
var self = this;
- this.getNameNodeWidgets().done(function (data) {
- var newWidgetsIds = [];
- var oldWidgetIds = [];
- var nameservice1 = App.HDFSService.find().objectAt(0).get('masterComponentGroups')[0].name;
- var nameservice2 = self.get('content.nameServiceId');
- var widgetsCount = data.items.length;
- data.items.forEach(function (widget) {
- if (!widget.WidgetInfo.tag) {
- var oldId = widget.WidgetInfo.id;
- oldWidgetIds.push(oldId);
+ this.getNameNodeWidgets().done(function (data) {
+ var newWidgetsIds = [];
+ var oldWidgetIds = [];
+ var nameservice1 = App.HDFSService.find().objectAt(0).get('masterComponentGroups')[0].name;
+ var nameservice2 = self.get('content.nameServiceId');
+ var widgetsCount = data.items.length;
+ data.items.forEach(function (widget) {
+ if (!widget.WidgetInfo.tag) {
+ var oldId = widget.WidgetInfo.id;
+ oldWidgetIds.push(oldId);
delete widget.href;
delete widget.WidgetInfo.id;
delete widget.WidgetInfo.cluster_name;
delete widget.WidgetInfo.author;
- widget.WidgetInfo.tag = nameservice1;
+ widget.WidgetInfo.tag = nameservice1;
widget.WidgetInfo.metrics = JSON.parse(widget.WidgetInfo.metrics);
widget.WidgetInfo.values = JSON.parse(widget.WidgetInfo.values);
- self.createWidget(widget).done(function (w) {
- newWidgetsIds.push(w.resources[0].WidgetInfo.id);
- widget.WidgetInfo.tag = nameservice2;
self.createWidget(widget).done(function (w) {
newWidgetsIds.push(w.resources[0].WidgetInfo.id);
- self.deleteWidget(oldId).done(function () {
- if (!--widgetsCount) {
- self.getDefaultHDFStWidgetLayout().done(function (layout) {
- layout = layout.items[0].WidgetLayoutInfo;
- layout.widgets = layout.widgets.filter(function (w) {
- return !oldWidgetIds.contains(w.WidgetInfo.id);
- }).map(function (w) {
- return w.WidgetInfo.id;
- }).concat(newWidgetsIds);
- self.updateDefaultHDFStWidgetLayout(layout).done(function () {
- self.onTaskCompleted();
+ widget.WidgetInfo.tag = nameservice2;
+ self.createWidget(widget).done(function (w) {
+ newWidgetsIds.push(w.resources[0].WidgetInfo.id);
+ self.deleteWidget(oldId).done(function () {
+ if (!--widgetsCount) {
+ self.getDefaultHDFStWidgetLayout().done(function (layout) {
+ layout = layout.items[0].WidgetLayoutInfo;
+ layout.widgets = layout.widgets.filter(function (w) {
+ return !oldWidgetIds.contains(w.WidgetInfo.id);
+ }).map(function (w) {
+ return w.WidgetInfo.id;
+ }).concat(newWidgetsIds);
+ self.updateDefaultHDFStWidgetLayout(layout).done(function () {
+ self.onTaskCompleted();
+ });
});
- });
- }
+ }
+ });
});
});
- });
- } else {
- widgetsCount--;
- }
+ } else {
+ widgetsCount--;
+ }
+ });
});
- });
},
createWidget: function (data) {
diff --git a/ambari-web/app/data/configs/wizards/federation_properties.js b/ambari-web/app/data/configs/wizards/federation_properties.js
index ef4a4d0..a0e632b 100644
--- a/ambari-web/app/data/configs/wizards/federation_properties.js
+++ b/ambari-web/app/data/configs/wizards/federation_properties.js
@@ -28,8 +28,8 @@ module.exports =
sites: ['core-site'],
configs: [
{
- "name": "dfs.journalnode.edits.dir.{{nameservice2}}",
- "displayName": "dfs.journalnode.edits.dir.{{nameservice2}}",
+ "name": "dfs.journalnode.edits.dir.{{newNameservice}}",
+ "displayName": "dfs.journalnode.edits.dir.{{newNameservice}}",
"description": "The Directory where the JournalNode will store its local state.",
"isReconfigurable": true,
"recommendedValue": "",
@@ -49,15 +49,16 @@ module.exports =
"displayType": "directory",
"category": "HDFS",
"filename": "hdfs-site",
- "serviceName": 'MISC'
+ "serviceName": 'MISC',
+ "firstRun": true
},
{
"name": "dfs.nameservices",
"displayName": "dfs.nameservices",
"description": "Comma-separated list of nameservices.",
"isReconfigurable": false,
- "recommendedValue": "{{nameservice1}},{{nameservice2}}",
- "value": "{{nameservice1}},{{nameservice2}}",
+ "recommendedValue": "{{nameServicesList}},{{newNameservice}}",
+ "value": "{{nameServicesList}},{{newNameservice}}",
"category": "HDFS",
"filename": "hdfs-site",
"serviceName": 'MISC'
@@ -67,92 +68,92 @@ module.exports =
"displayName": "dfs.internal.nameservices",
"description": "Comma-separated list of nameservices.",
"isReconfigurable": false,
- "recommendedValue": "{{nameservice1}},{{nameservice2}}",
- "value": "{{nameservice1}},{{nameservice2}}",
+ "recommendedValue": "{{nameServicesList}},{{newNameservice}}",
+ "value": "{{nameServicesList}},{{newNameservice}}",
"category": "HDFS",
"filename": "hdfs-site",
"serviceName": 'MISC'
},
{
- "name": "dfs.ha.namenodes.{{nameservice2}}",
- "displayName": "dfs.ha.namenodes.{{nameservice2}}",
+ "name": "dfs.ha.namenodes.{{newNameservice}}",
+ "displayName": "dfs.ha.namenodes.{{newNameservice}}",
"description": "The prefix for a given nameservice, contains a comma-separated list of namenodes for a given nameservice.",
"isReconfigurable": false,
- "recommendedValue": "nn3,nn4",
- "value": "nn3,nn4",
+ "recommendedValue": "{{newNameNode1Index}},{{newNameNode2Index}}",
+ "value": "{{newNameNode1Index}},{{newNameNode2Index}}",
"category": "HDFS",
"filename": "hdfs-site",
"serviceName": 'MISC'
},
{
- "name": "dfs.namenode.rpc-address.{{nameservice2}}.nn3",
- "displayName": "dfs.namenode.rpc-address.{{nameservice2}}.nn3",
- "description": "RPC address that handles all clients requests for nn3.",
+ "name": "dfs.namenode.rpc-address.{{newNameservice}}.{{newNameNode1Index}}",
+ "displayName": "dfs.namenode.rpc-address.{{newNameservice}}.{{newNameNode1Index}}",
+ "description": "RPC address that handles all clients requests for {{newNameNode1Index}}.",
"isReconfigurable": false,
- "recommendedValue": "{{namenode3}}:{{nnRpcPort}}",
- "value": "{{namenode3}}:{{nnRpcPort}}",
+ "recommendedValue": "{{newNameNode1}}:{{nnRpcPort}}",
+ "value": "{{newNameNode1}}:{{nnRpcPort}}",
"category": "HDFS",
"filename": "hdfs-site",
"serviceName": 'MISC'
},
{
- "name": "dfs.namenode.rpc-address.{{nameservice2}}.nn4",
- "displayName": "dfs.namenode.rpc-address.{{nameservice2}}.nn4",
- "description": "RPC address that handles all clients requests for nn4.",
+ "name": "dfs.namenode.rpc-address.{{newNameservice}}.{{newNameNode2Index}}",
+ "displayName": "dfs.namenode.rpc-address.{{newNameservice}}.{{newNameNode2Index}}",
+ "description": "RPC address that handles all clients requests for {{newNameNode2Index}}.",
"isReconfigurable": false,
- "recommendedValue": "{{namenode4}}:{{nnRpcPort}}",
- "value": "{{namenode4}}:{{nnRpcPort}}",
+ "recommendedValue": "{{newNameNode2}}:{{nnRpcPort}}",
+ "value": "{{newNameNode2}}:{{nnRpcPort}}",
"category": "HDFS",
"filename": "hdfs-site",
"serviceName": 'MISC'
},
{
- "name": "dfs.namenode.http-address.{{nameservice2}}.nn3",
- "displayName": "dfs.namenode.http-address.{{nameservice2}}.nn3",
- "description": "The fully-qualified HTTP address for nn3 NameNode.",
+ "name": "dfs.namenode.http-address.{{newNameservice}}.{{newNameNode1Index}}",
+ "displayName": "dfs.namenode.http-address.{{newNameservice}}.{{newNameNode1Index}}",
+ "description": "The fully-qualified HTTP address for {{newNameNode1Index}} NameNode.",
"isReconfigurable": false,
- "recommendedValue": "{{namenode3}}:{{nnHttpPort}}",
- "value": "{{namenode3}}:{{nnHttpPort}}",
+ "recommendedValue": "{{newNameNode1}}:{{nnHttpPort}}",
+ "value": "{{newNameNode1}}:{{nnHttpPort}}",
"category": "HDFS",
"filename": "hdfs-site",
"serviceName": 'MISC'
},
{
- "name": "dfs.namenode.http-address.{{nameservice2}}.nn4",
- "displayName": "dfs.namenode.http-address.{{nameservice2}}.nn4",
- "description": "The fully-qualified HTTP address for nn4 NameNode.",
+ "name": "dfs.namenode.http-address.{{newNameservice}}.{{newNameNode2Index}}",
+ "displayName": "dfs.namenode.http-address.{{newNameservice}}.{{newNameNode2Index}}",
+ "description": "The fully-qualified HTTP address for {{newNameNode2Index}} NameNode.",
"isReconfigurable": false,
- "recommendedValue": "{{namenode4}}:{{nnHttpPort}}",
- "value": "{{namenode4}}:{{nnHttpPort}}",
+ "recommendedValue": "{{newNameNode2}}:{{nnHttpPort}}",
+ "value": "{{newNameNode2}}:{{nnHttpPort}}",
"category": "HDFS",
"filename": "hdfs-site",
"serviceName": 'MISC'
},
{
- "name": "dfs.namenode.https-address.{{nameservice2}}.nn3",
- "displayName": "dfs.namenode.https-address.{{nameservice2}}.nn3",
- "description": "The fully-qualified HTTPS address for nn3 NameNode.",
+ "name": "dfs.namenode.https-address.{{newNameservice}}.{{newNameNode1Index}}",
+ "displayName": "dfs.namenode.https-address.{{newNameservice}}.{{newNameNode1Index}}",
+ "description": "The fully-qualified HTTPS address for {{newNameNode1Index}} NameNode.",
"isReconfigurable": false,
- "recommendedValue": "{{namenode3}}:{{nnHttpsPort}}",
- "value": "{{namenode3}}:{{nnHttpsPort}}",
+ "recommendedValue": "{{newNameNode1}}:{{nnHttpsPort}}",
+ "value": "{{newNameNode1}}:{{nnHttpsPort}}",
"category": "HDFS",
"filename": "hdfs-site",
"serviceName": 'MISC'
},
{
- "name": "dfs.namenode.https-address.{{nameservice2}}.nn4",
- "displayName": "dfs.namenode.https-address.{{nameservice2}}.nn4",
- "description": "The fully-qualified HTTPS address for nn4 NameNode.",
+ "name": "dfs.namenode.https-address.{{newNameservice}}.{{newNameNode2Index}}",
+ "displayName": "dfs.namenode.https-address.{{newNameservice}}.{{newNameNode2Index}}",
+ "description": "The fully-qualified HTTPS address for {{newNameNode2Index}} NameNode.",
"isReconfigurable": false,
- "recommendedValue": "{{namenode4}}:{{nnHttpsPort}}",
- "value": "{{namenode4}}:{{nnHttpsPort}}",
+ "recommendedValue": "{{newNameNode2}}:{{nnHttpsPort}}",
+ "value": "{{newNameNode2}}:{{nnHttpsPort}}",
"category": "HDFS",
"filename": "hdfs-site",
"serviceName": 'MISC'
},
{
- "name": "dfs.client.failover.proxy.provider.{{nameservice2}}",
- "displayName": "dfs.client.failover.proxy.provider.{{nameservice2}}",
+ "name": "dfs.client.failover.proxy.provider.{{newNameservice}}",
+ "displayName": "dfs.client.failover.proxy.provider.{{newNameservice}}",
"description": "The Java class that HDFS clients use to contact the Active NameNode.",
"recommendedValue": "org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider",
"isReconfigurable": false,
@@ -170,15 +171,16 @@ module.exports =
"value": "qjournal://{{journalnodes}}/{{nameservice1}}",
"category": "HDFS",
"filename": "hdfs-site",
- "serviceName": 'MISC'
+ "serviceName": 'MISC',
+ "firstRun": true
},
{
- "name": "dfs.namenode.shared.edits.dir.{{nameservice2}}",
- "displayName": "dfs.namenode.shared.edits.dir.{{nameservice2}}",
+ "name": "dfs.namenode.shared.edits.dir.{{newNameservice}}",
+ "displayName": "dfs.namenode.shared.edits.dir.{{newNameservice}}",
"description": "The URI which identifies the group of JNs where the NameNodes will write/read edits.",
"isReconfigurable": false,
- "recommendedValue": "qjournal://{{journalnodes}}/{{nameservice2}}",
- "value": "qjournal://{{journalnodes}}/{{nameservice2}}",
+ "recommendedValue": "qjournal://{{journalnodes}}/{{newNameservice}}",
+ "value": "qjournal://{{journalnodes}}/{{newNameservice}}",
"category": "HDFS",
"filename": "hdfs-site",
"serviceName": 'MISC'
@@ -192,7 +194,8 @@ module.exports =
"value": "{{namenode1}}:8021",
"category": "HDFS",
"filename": "hdfs-site",
- "serviceName": 'MISC'
+ "serviceName": 'MISC',
+ "firstRun": true
},
{
"name": "dfs.namenode.servicerpc-address.{{nameservice1}}.nn2",
@@ -203,49 +206,30 @@ module.exports =
"value": "{{namenode2}}:8021",
"category": "HDFS",
"filename": "hdfs-site",
- "serviceName": 'MISC'
+ "serviceName": 'MISC',
+ "firstRun": true
},
{
- "name": "dfs.namenode.servicerpc-address.{{nameservice2}}.nn3",
- "displayName": "dfs.namenode.servicerpc-address.{{nameservice2}}.nn3",
+ "name": "dfs.namenode.servicerpc-address.{{newNameservice}}.{{newNameNode1Index}}",
+ "displayName": "dfs.namenode.servicerpc-address.{{newNameservice}}.{{newNameNode1Index}}",
"description": "RPC address for HDFS Services communication.",
"isReconfigurable": false,
- "recommendedValue": "{{namenode3}}:8021",
- "value": "{{namenode3}}:8021",
+ "recommendedValue": "{{newNameNode1}}:8021",
+ "value": "{{newNameNode1}}:8021",
"category": "HDFS",
"filename": "hdfs-site",
"serviceName": 'MISC'
},
{
- "name": "dfs.namenode.servicerpc-address.{{nameservice2}}.nn4",
- "displayName": "dfs.namenode.servicerpc-address.{{nameservice2}}.nn4",
+ "name": "dfs.namenode.servicerpc-address.{{newNameservice}}.{{newNameNode2Index}}",
+ "displayName": "dfs.namenode.servicerpc-address.{{newNameservice}}.{{newNameNode2Index}}",
"description": "RPC address for HDFS Services communication.",
"isReconfigurable": false,
- "recommendedValue": "{{namenode4}}:8021",
- "value": "{{namenode4}}:8021",
+ "recommendedValue": "{{newNameNode2}}:8021",
+ "value": "{{newNameNode2}}:8021",
"category": "HDFS",
"filename": "hdfs-site",
"serviceName": 'MISC'
- },
- {
- "name": "ranger.tagsync.atlas.hdfs.instance.{{clustername}}.nameservice.{{nameservice1}}.ranger.service",
- "displayName": "ranger.tagsync.atlas.hdfs.instance.{{clustername}}.nameservice.{{nameservice1}}.ranger.service",
- "isReconfigurable": false,
- "recommendedValue": "{{ranger_service_name_ns1}}",
- "value": "{{ranger_service_name_ns1}}",
- "category": "RANGER",
- "filename": "ranger-tagsync-site",
- "serviceName": 'MISC'
- },
- {
- "name": "ranger.tagsync.atlas.hdfs.instance.{{clustername}}.nameservice.{{nameservice2}}.ranger.service",
- "displayName": "ranger.tagsync.atlas.hdfs.instance.{{clustername}}.nameservice.{{nameservice2}}.ranger.service",
- "isReconfigurable": false,
- "recommendedValue": "{{ranger_service_name_ns2}}",
- "value": "{{ranger_service_name_ns2}}",
- "category": "RANGER",
- "filename": "ranger-tagsync-site",
- "serviceName": 'MISC'
}
]
}
--
To stop receiving notification emails like this one, please contact
akovalenko@apache.org.