AMBARI-16288. Separate number of shards and replication factor configurations for audit logs and service logs (oleewere)
Project: http://git-wip-us.apache.org/repos/asf/ambari/repo Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/3332dad4 Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/3332dad4 Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/3332dad4 Branch: refs/heads/trunk Commit: 3332dad4d6da83defc61dba6db3a147db63deecb Parents: 45be225 Author: oleewere <oleew...@gmail.com> Authored: Tue May 10 13:39:51 2016 +0200 Committer: oleewere <oleew...@gmail.com> Committed: Tue May 10 14:59:36 2016 +0200 ---------------------------------------------------------------------- .../configuration/logsearch-properties.xml | 40 ++++++++++++++++--- .../LOGSEARCH/0.5.0/package/scripts/params.py | 17 +++++--- .../package/templates/logsearch.properties.j2 | 10 ++--- .../package/templates/output.config.json.j2 | 4 +- .../LOGSEARCH/0.5.0/themes/theme.json | 42 +++++++++++++++++--- .../stacks/HDP/2.3/services/stack_advisor.py | 17 +++++--- .../stacks/2.3/common/test_stack_advisor.py | 18 ++++++--- .../test/python/stacks/2.4/configs/default.json | 10 +++-- ambari-web/app/data/HDP2/site_properties.js | 26 +++--------- 9 files changed, 126 insertions(+), 58 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ambari/blob/3332dad4/ambari-server/src/main/resources/common-services/LOGSEARCH/0.5.0/configuration/logsearch-properties.xml ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/resources/common-services/LOGSEARCH/0.5.0/configuration/logsearch-properties.xml b/ambari-server/src/main/resources/common-services/LOGSEARCH/0.5.0/configuration/logsearch-properties.xml index 172ed95..85f0e4f 100644 --- a/ambari-server/src/main/resources/common-services/LOGSEARCH/0.5.0/configuration/logsearch-properties.xml +++ b/ambari-server/src/main/resources/common-services/LOGSEARCH/0.5.0/configuration/logsearch-properties.xml @@ -22,10 +22,10 @@ <configuration> <property> - <name>logsearch.collection.numshards</name> + <name>logsearch.collection.service.logs.numshards</name> <value>5</value> - <display-name>Logsearch Solr Collection Shards</display-name> - <description>Number of shards for Solr collections</description> + <display-name>Logsearch Solr Service Logs Shards</display-name> + <description>Number of shards for Service Logs collection</description> <value-attributes> <type>int</type> <minimum>1</minimum> @@ -36,10 +36,38 @@ </property> <property> - <name>logsearch.collection.replication.factor</name> + <name>logsearch.collection.service.logs.replication.factor</name> <value>1</value> - <display-name>Logsearch Solr Collection Replication Factor</display-name> - <description>Replication factor for Solr collections</description> + <display-name>Logsearch Solr Service Logs Replication Factor</display-name> + <description>Replication factor for Service Logs Solr collection</description> + <value-attributes> + <type>int</type> + <minimum>1</minimum> + <maximum>10</maximum> + <unit>int</unit> + <increment-step>1</increment-step> + </value-attributes> + </property> + + <property> + <name>logsearch.collection.audit.logs.numshards</name> + <value>5</value> + <display-name>Logsearch Solr Audit Logs Shards</display-name> + <description>Number of shards for Audit Logs collection</description> + <value-attributes> + <type>int</type> + <minimum>1</minimum> + <maximum>20</maximum> + <unit>int</unit> + <increment-step>1</increment-step> + </value-attributes> + </property> + + <property> + <name>logsearch.collection.audit.logs.replication.factor</name> + <value>1</value> + <display-name>Logsearch Solr Audit Logs Replication Factor</display-name> + <description>Replication factor for Audit Logs Solr collection</description> <value-attributes> <type>int</type> <minimum>1</minimum> http://git-wip-us.apache.org/repos/asf/ambari/blob/3332dad4/ambari-server/src/main/resources/common-services/LOGSEARCH/0.5.0/package/scripts/params.py ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/resources/common-services/LOGSEARCH/0.5.0/package/scripts/params.py b/ambari-server/src/main/resources/common-services/LOGSEARCH/0.5.0/package/scripts/params.py index 4b2d769..6c26afc 100644 --- a/ambari-server/src/main/resources/common-services/LOGSEARCH/0.5.0/package/scripts/params.py +++ b/ambari-server/src/main/resources/common-services/LOGSEARCH/0.5.0/package/scripts/params.py @@ -138,14 +138,21 @@ solr_client_log4j_content = config['configurations']['logsearch-solr-client-log4 ##################################### logsearch_dir = '/usr/lib/ambari-logsearch-portal' -logsearch_numshards_config = config['configurations']['logsearch-properties']['logsearch.collection.numshards'] +logsearch_service_numshards_config = config['configurations']['logsearch-properties']['logsearch.collection.service.logs.numshards'] +logsearch_audit_numshards_config = config['configurations']['logsearch-properties']['logsearch.collection.audit.logs.numshards'] -if logsearch_numshards_config > 0: - logsearch_numshards = str(logsearch_numshards_config) +if logsearch_service_numshards_config > 0: + logsearch_service_logs_numshards = str(logsearch_service_numshards_config) else: - logsearch_numshards = format(str(logsearch_solr_instance_count)) + logsearch_service_logs_numshards = format(str(logsearch_solr_instance_count)) -logsearch_repfactor = str(config['configurations']['logsearch-properties']['logsearch.collection.replication.factor']) +if logsearch_audit_numshards_config > 0: + logsearch_audit_logs_numshards = str(logsearch_audit_numshards_config) +else: + logsearch_audit_logs_numshards = format(str(logsearch_audit_numshards_config)) + +logsearch_service_logs_repfactor = str(config['configurations']['logsearch-properties']['logsearch.collection.service.logs.replication.factor']) +logsearch_audit_logs_repfactor = str(config['configurations']['logsearch-properties']['logsearch.collection.audit.logs.replication.factor']) logsearch_solr_collection_service_logs = default('/configurations/logsearch-properties/logsearch.solr.collection.service.logs', 'hadoop_logs') logsearch_solr_collection_audit_logs = default('/configurations/logsearch-properties/logsearch.solr.collection.audit.logs','audit_logs') http://git-wip-us.apache.org/repos/asf/ambari/blob/3332dad4/ambari-server/src/main/resources/common-services/LOGSEARCH/0.5.0/package/templates/logsearch.properties.j2 ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/resources/common-services/LOGSEARCH/0.5.0/package/templates/logsearch.properties.j2 b/ambari-server/src/main/resources/common-services/LOGSEARCH/0.5.0/package/templates/logsearch.properties.j2 index ac731ce..3813a0a 100644 --- a/ambari-server/src/main/resources/common-services/LOGSEARCH/0.5.0/package/templates/logsearch.properties.j2 +++ b/ambari-server/src/main/resources/common-services/LOGSEARCH/0.5.0/package/templates/logsearch.properties.j2 @@ -20,8 +20,8 @@ solr.zkhosts={{zookeeper_quorum}}{{logsearch_solr_znode}} solr.core.logs={{logsearch_solr_collection_service_logs}} solr.service_logs.split_interval_mins={{service_logs_collection_splits_interval_mins}} -solr.service_logs.shards={{logsearch_numshards}} -solr.service_logs.replication_factor={{logsearch_repfactor}} +solr.service_logs.shards={{logsearch_service_logs_numshards}} +solr.service_logs.replication_factor={{logsearch_service_logs_repfactor}} solr.servicelogs.fields={{logsearch_service_logs_fields}} @@ -31,13 +31,13 @@ auditlog.solr.core.logs={{logsearch_solr_collection_audit_logs}} auditlog.solr.url={{solr_audit_logs_url}} solr.audit_logs.split_interval_mins={{audit_logs_collection_splits_interval_mins}} -solr.audit_logs.shards={{logsearch_numshards}} -solr.audit_logs.replication_factor={{logsearch_repfactor}} +solr.audit_logs.shards={{logsearch_audit_logs_numshards}} +solr.audit_logs.replication_factor={{logsearch_audit_logs_repfactor}} # History logs solr.core.history=history solr.history.config_name=history -solr.history.replication_factor={{logsearch_repfactor}} +solr.history.replication_factor=1 #Logfeeder Settings http://git-wip-us.apache.org/repos/asf/ambari/blob/3332dad4/ambari-server/src/main/resources/common-services/LOGSEARCH/0.5.0/package/templates/output.config.json.j2 ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/resources/common-services/LOGSEARCH/0.5.0/package/templates/output.config.json.j2 b/ambari-server/src/main/resources/common-services/LOGSEARCH/0.5.0/package/templates/output.config.json.j2 index 09858dc..7d0319d 100644 --- a/ambari-server/src/main/resources/common-services/LOGSEARCH/0.5.0/package/templates/output.config.json.j2 +++ b/ambari-server/src/main/resources/common-services/LOGSEARCH/0.5.0/package/templates/output.config.json.j2 @@ -23,7 +23,7 @@ "destination":"solr", "zk_hosts":"{{zookeeper_quorum}}{{logsearch_solr_znode}}", "collection":"{{logsearch_solr_collection_service_logs}}", - "number_of_shards": "{{logsearch_numshards}}", + "number_of_shards": "{{logsearch_service_logs_numshards}}", "splits_interval_mins": "{{service_logs_collection_splits_interval_mins}}", "conditions":{ "fields":{ @@ -42,7 +42,7 @@ "destination":"solr", "zk_hosts":"{{zookeeper_quorum}}{{logsearch_solr_znode}}", "collection":"{{logsearch_solr_collection_audit_logs}}", - "number_of_shards": "{{logsearch_numshards}}", + "number_of_shards": "{{logsearch_audit_logs_numshards}}", "splits_interval_mins": "{{audit_logs_collection_splits_interval_mins}}", "conditions":{ "fields":{ http://git-wip-us.apache.org/repos/asf/ambari/blob/3332dad4/ambari-server/src/main/resources/common-services/LOGSEARCH/0.5.0/themes/theme.json ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/resources/common-services/LOGSEARCH/0.5.0/themes/theme.json b/ambari-server/src/main/resources/common-services/LOGSEARCH/0.5.0/themes/theme.json index 248bbd3..259fb28 100644 --- a/ambari-server/src/main/resources/common-services/LOGSEARCH/0.5.0/themes/theme.json +++ b/ambari-server/src/main/resources/common-services/LOGSEARCH/0.5.0/themes/theme.json @@ -39,8 +39,8 @@ "column-index": "1", "row-span": "1", "column-span": "1", - "section-columns": "3", - "section-rows": "1", + "section-columns": "1", + "section-rows": "5", "subsections": [ { "name": "subsection-logsearch-server-col1", @@ -81,11 +81,19 @@ "subsection-name": "subsection-logsearch-server-col1" }, { - "config": "logsearch-properties/logsearch.collection.numshards", + "config": "logsearch-properties/logsearch.collection.service.logs.numshards", + "subsection-name": "subsection-logsearch-server-col1" + }, + { + "config": "logsearch-properties/logsearch.collection.service.logs.replication.factor", + "subsection-name": "subsection-logsearch-server-col1" + }, + { + "config": "logsearch-properties/logsearch.collection.audit.logs.numshards", "subsection-name": "subsection-logsearch-server-col1" }, { - "config": "logsearch-properties/logsearch.collection.replication.factor", + "config": "logsearch-properties/logsearch.collection.audit.logs.replication.factor", "subsection-name": "subsection-logsearch-server-col1" } ] @@ -137,7 +145,29 @@ } }, { - "config": "logsearch-properties/logsearch.collection.numshards", + "config": "logsearch-properties/logsearch.collection.service.logs.numshards", + "widget": { + "type": "slider", + "units": [ + { + "unit-name": "int" + } + ] + } + }, + { + "config": "logsearch-properties/logsearch.collection.service.logs.replication.factor", + "widget": { + "type": "slider", + "units": [ + { + "unit-name": "int" + } + ] + } + }, + { + "config": "logsearch-properties/logsearch.collection.audit.logs.numshards", "widget": { "type": "slider", "units": [ @@ -148,7 +178,7 @@ } }, { - "config": "logsearch-properties/logsearch.collection.replication.factor", + "config": "logsearch-properties/logsearch.collection.audit.logs.replication.factor", "widget": { "type": "slider", "units": [ http://git-wip-us.apache.org/repos/asf/ambari/blob/3332dad4/ambari-server/src/main/resources/stacks/HDP/2.3/services/stack_advisor.py ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/resources/stacks/HDP/2.3/services/stack_advisor.py b/ambari-server/src/main/resources/stacks/HDP/2.3/services/stack_advisor.py index 73e9044..36d6e9f 100644 --- a/ambari-server/src/main/resources/stacks/HDP/2.3/services/stack_advisor.py +++ b/ambari-server/src/main/resources/stacks/HDP/2.3/services/stack_advisor.py @@ -690,16 +690,23 @@ class HDP23StackAdvisor(HDP22StackAdvisor): if logsearchSolrHosts is not None and len(logsearchSolrHosts) > 0 \ and "logsearch-properties" in services["configurations"]: + recommendedMinShards = len(logsearchSolrHosts) + recommendedShards = 2 * len(logsearchSolrHosts) + recommendedMaxShards = 3 * len(logsearchSolrHosts) # recommend number of shard putLogsearchAttribute = self.putPropertyAttribute(configurations, "logsearch-properties") - putLogsearchAttribute('logsearch.collection.numshards', 'minimum', len(logsearchSolrHosts)) - putLogsearchAttribute('logsearch.collection.numshards', 'maximum', 3 * len(logsearchSolrHosts)) - putLogsearchProperty("logsearch.collection.numshards", 2 * len(logsearchSolrHosts)) + putLogsearchAttribute('logsearch.collection.service.logs.numshards', 'minimum', recommendedMinShards) + putLogsearchAttribute('logsearch.collection.service.logs.numshards', 'maximum', recommendedMaxShards) + putLogsearchProperty("logsearch.collection.service.logs.numshards", recommendedShards) + + putLogsearchAttribute('logsearch.collection.audit.logs.numshards', 'minimum', recommendedMinShards) + putLogsearchAttribute('logsearch.collection.audit.logs.numshards', 'maximum', recommendedMaxShards) + putLogsearchProperty("logsearch.collection.audit.logs.numshards", recommendedShards) # recommend replication factor replicationReccomendFloat = math.log(len(logsearchSolrHosts), 5) recommendedReplicationFactor = int(1 + math.floor(replicationReccomendFloat)) - putLogsearchProperty("logsearch.collection.replication.factor", recommendedReplicationFactor) - + putLogsearchProperty("logsearch.collection.service.logs.replication.factor", recommendedReplicationFactor) + putLogsearchProperty("logsearch.collection.audit.logs.replication.factor", recommendedReplicationFactor) def getServiceConfigurationValidators(self): parentValidators = super(HDP23StackAdvisor, self).getServiceConfigurationValidators() http://git-wip-us.apache.org/repos/asf/ambari/blob/3332dad4/ambari-server/src/test/python/stacks/2.3/common/test_stack_advisor.py ---------------------------------------------------------------------- diff --git a/ambari-server/src/test/python/stacks/2.3/common/test_stack_advisor.py b/ambari-server/src/test/python/stacks/2.3/common/test_stack_advisor.py index 95be86b..9511738 100644 --- a/ambari-server/src/test/python/stacks/2.3/common/test_stack_advisor.py +++ b/ambari-server/src/test/python/stacks/2.3/common/test_stack_advisor.py @@ -2937,8 +2937,10 @@ class TestHDP23StackAdvisor(TestCase): configurations = { "logsearch-properties": { "properties": { - "logsearch.collection.numshards" : "5", - "logsearch.collection.replication.factor": "0" + "logsearch.collection.service.logs.numshards" : "5", + "logsearch.collection.service.logs.replication.factor": "0", + "logsearch.collection.audit.logs.numshards" : "5", + "logsearch.collection.audit.logs.replication.factor": "0" } } } @@ -2954,11 +2956,17 @@ class TestHDP23StackAdvisor(TestCase): expected = { 'logsearch-properties': { 'properties': { - "logsearch.collection.numshards" : "2", - "logsearch.collection.replication.factor": "1" + "logsearch.collection.service.logs.numshards" : "2", + "logsearch.collection.service.logs.replication.factor": "1", + "logsearch.collection.audit.logs.numshards" : "2", + "logsearch.collection.audit.logs.replication.factor": "1" }, "property_attributes": { - "logsearch.collection.numshards": { + "logsearch.collection.service.logs.numshards": { + "minimum": "1", + "maximum": "3" + }, + "logsearch.collection.audit.logs.numshards": { "minimum": "1", "maximum": "3" }