You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ambari.apache.org by nc...@apache.org on 2017/07/06 13:10:41 UTC
[48/50] [abbrv] ambari git commit: AMBARI-21333 ADDENDUM Extract Log
Search part from stack advisor to a separate service advisor (mgergely)
AMBARI-21333 ADDENDUM Extract Log Search part from stack advisor to a separate service advisor (mgergely)
Change-Id: I2ad3ab6ef1acbb637ea0cf5758c725cf96dd4292
Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/e666e9b4
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/e666e9b4
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/e666e9b4
Branch: refs/heads/branch-feature-AMBARI-12556
Commit: e666e9b44c98b7d06b8cbe48d70b5e3c924302c7
Parents: 5c9bdbf
Author: Miklos Gergely <mg...@hortonworks.com>
Authored: Thu Jul 6 12:12:05 2017 +0200
Committer: Miklos Gergely <mg...@hortonworks.com>
Committed: Thu Jul 6 12:12:05 2017 +0200
----------------------------------------------------------------------
.../common-services/LOGSEARCH/0.5.0/service_advisor.py | 7 +++++++
1 file changed, 7 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ambari/blob/e666e9b4/ambari-server/src/main/resources/common-services/LOGSEARCH/0.5.0/service_advisor.py
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/common-services/LOGSEARCH/0.5.0/service_advisor.py b/ambari-server/src/main/resources/common-services/LOGSEARCH/0.5.0/service_advisor.py
index 6a61b07..fc49824 100644
--- a/ambari-server/src/main/resources/common-services/LOGSEARCH/0.5.0/service_advisor.py
+++ b/ambari-server/src/main/resources/common-services/LOGSEARCH/0.5.0/service_advisor.py
@@ -120,7 +120,9 @@ class LogSearchServiceAdvisor(service_advisor.ServiceAdvisor):
putLogFeederEnvAttribute = self.putPropertyAttribute(configurations, "logfeeder-env")
logSearchServerHosts = self.getComponentHostNames(services, "LOGSEARCH", "LOGSEARCH_SERVER")
+ # if there is no Log Search server on the cluster, i.e. there is an external server
if logSearchServerHosts is None or len(logSearchServerHosts) == 0:
+ # hide logsearch specific attributes, except for a few which are used by the logfeeders too
for key in services['configurations']['logsearch-env']['properties']:
putLogSearchEnvAttribute(key, 'visible', 'false')
for key in services['configurations']['logsearch-properties']['properties']:
@@ -135,10 +137,13 @@ class LogSearchServiceAdvisor(service_advisor.ServiceAdvisor):
for key in services['configurations']['logsearch-log4j']['properties']:
self.putPropertyAttribute(configurations, "logsearch-log4j")(key, 'visible', 'false')
+ # in the abscence of a server we can't provide a good estimation for the number of shards
putLogSearchProperty("logsearch.collection.service.logs.numshards", 2)
putLogSearchProperty("logsearch.collection.audit.logs.numshards", 2)
+ # if there is a Log Search server on the cluster
else:
infraSolrHosts = self.getComponentHostNames(services, "AMBARI_INFRA", "INFRA_SOLR")
+ # if there is AMBARI_INFRA, calculate the min/max shards and recommendations based on the number of infra solr hosts
if infraSolrHosts is not None and len(infraSolrHosts) > 0 and "logsearch-properties" in services["configurations"]:
replicationReccomendFloat = math.log(len(infraSolrHosts), 5)
recommendedReplicationFactor = int(1 + math.floor(replicationReccomendFloat))
@@ -146,6 +151,7 @@ class LogSearchServiceAdvisor(service_advisor.ServiceAdvisor):
recommendedMinShards = len(infraSolrHosts)
recommendedShards = 2 * len(infraSolrHosts)
recommendedMaxShards = 3 * len(infraSolrHosts)
+ # if there is no AMBARI_INFRA (i.e. external solr is used), use default values for min/max shards and recommendations
else:
recommendedReplicationFactor = 2
@@ -168,6 +174,7 @@ class LogSearchServiceAdvisor(service_advisor.ServiceAdvisor):
putLogSearchProperty("logsearch.collection.audit.logs.replication.factor", recommendedReplicationFactor)
kerberos_authentication_enabled = self.isSecurityEnabled(services)
+ # if there is no kerberos enabled hide kerberor related properties
if not kerberos_authentication_enabled:
putLogSearchCommonEnvProperty('logsearch_external_solr_kerberos_enabled', 'false')
putLogSearchCommonEnvAttribute('logsearch_external_solr_kerberos_enabled', 'visible', 'false')