diff options
author | Miklos Gergely <mgergely@hortonworks.com> | 2016-06-21 19:05:52 +0200 |
---|---|---|
committer | oleewere <oleewere@gmail.com> | 2016-06-21 19:13:58 +0200 |
commit | 9471646c71da8619364e0d8cbc20fc783d6492b8 (patch) | |
tree | 7d2bb165fbd65eafab0ae234101955b0394d2eeb /ambari-logsearch/ambari-logsearch-logfeeder | |
parent | f65ce6cd75dac9aad9feb0da80f499eeae559653 (diff) |
AMBARI-17117. Fix misnamed Zookeeper connect strings in Log Search (Miklos Gergely via oleewere)
Diffstat (limited to 'ambari-logsearch/ambari-logsearch-logfeeder')
7 files changed, 47 insertions, 43 deletions
diff --git a/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/logconfig/FetchConfigFromSolr.java b/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/logconfig/FetchConfigFromSolr.java index 4240b86a3b..5b9fe8f3c7 100644 --- a/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/logconfig/FetchConfigFromSolr.java +++ b/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/logconfig/FetchConfigFromSolr.java @@ -47,12 +47,12 @@ public class FetchConfigFromSolr extends Thread { @Override public void run() { - String zkHosts = LogFeederUtil.getStringProperty("logfeeder.solr.zkhosts"); + String zkConnectString = LogFeederUtil.getStringProperty("logfeeder.solr.zk_connect_string"); String solrUrl = LogFeederUtil.getStringProperty("logfeeder.solr.url"); - if ((zkHosts == null || zkHosts.trim().length() == 0) + if ((zkConnectString == null || zkConnectString.trim().length() == 0 ) && (solrUrl == null || solrUrl.trim().length() == 0)) { - logger - .warn("Solr ZKHosts or solrUrl for UserConfig/History is not set. Won't look for level configuration from Solr."); + logger.warn("Neither Solr ZK Connect String nor solr Uril for UserConfig/History is set." + + "Won't look for level configuration from Solr."); return; } solrConfigInterval = LogFeederUtil.getIntProperty("logfeeder.solr.config.interval", solrConfigInterval); diff --git a/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/output/OutputSolr.java b/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/output/OutputSolr.java index c945ed7ab2..0480fbd13d 100644 --- a/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/output/OutputSolr.java +++ b/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/output/OutputSolr.java @@ -133,45 +133,49 @@ public class OutputSolr extends Output { private void createSolrWorkers() throws Exception, MalformedURLException { String solrUrl = getStringValue("url"); - String zkHosts = getStringValue("zk_hosts"); - if (StringUtils.isEmpty(solrUrl) && StringUtils.isEmpty(zkHosts)) { - throw new Exception("For solr output, either url or zk_hosts property need to be set"); + String zkConnectString = getStringValue("zk_connect_string"); + if (StringUtils.isEmpty(solrUrl) && StringUtils.isEmpty(zkConnectString)) { + throw new Exception("For solr output, either url or zk_connect_string property need to be set"); } for (int count = 0; count < workers; count++) { - SolrClient solrClient = getSolrClient(solrUrl, zkHosts, count); + SolrClient solrClient = getSolrClient(solrUrl, zkConnectString, count); createSolrWorkerThread(count, solrClient); } } - SolrClient getSolrClient(String solrUrl, String zkHosts, int count) throws Exception, MalformedURLException { - SolrClient solrClient = createSolrClient(solrUrl, zkHosts, collection); - pingSolr(solrUrl, zkHosts, count, solrClient); + SolrClient getSolrClient(String solrUrl, String zkConnectString, int count) throws Exception, MalformedURLException { + SolrClient solrClient = createSolrClient(solrUrl, zkConnectString); + pingSolr(solrUrl, zkConnectString, count, solrClient); waitForConfig(); return solrClient; } - private SolrClient createSolrClient(String solrUrl, String zkHosts, String collection) throws Exception, MalformedURLException { + private SolrClient createSolrClient(String solrUrl, String zkConnectString) throws Exception, MalformedURLException { SolrClient solrClient; - if (zkHosts != null) { - solrClient = createCloudSolrClient(zkHosts, collection); + if (zkConnectString != null) { + solrClient = createCloudSolrClient(zkConnectString); } else { - solrClient = createHttpSolarClient(solrUrl, collection); + solrClient = createHttpSolarClient(solrUrl); } return solrClient; } - private SolrClient createCloudSolrClient(String zkHosts, String collection) throws Exception { - LOG.info("Using zookeepr. zkHosts=" + zkHosts); + private SolrClient createCloudSolrClient(String zkConnectString) throws Exception { + LOG.info("Using zookeepr. zkConnectString=" + zkConnectString); + collection = getStringValue("collection"); + if (StringUtils.isEmpty(collection)) { + throw new Exception("For solr cloud property collection is mandatory"); + } LOG.info("Using collection=" + collection); - CloudSolrClient solrClient = new CloudSolrClient(zkHosts); + CloudSolrClient solrClient = new CloudSolrClient(zkConnectString); solrClient.setDefaultCollection(collection); return solrClient; } - private SolrClient createHttpSolarClient(String solrUrl, String collection) throws MalformedURLException { + private SolrClient createHttpSolarClient(String solrUrl) throws MalformedURLException { String[] solrUrls = StringUtils.split(solrUrl, ","); if (solrUrls.length == 1) { LOG.info("Using SolrURL=" + solrUrl); @@ -188,9 +192,9 @@ public class OutputSolr extends Output { } } - private void pingSolr(String solrUrl, String zkHosts, int count, SolrClient solrClient) { + private void pingSolr(String solrUrl, String zkConnectString, int count, SolrClient solrClient) { try { - LOG.info("Pinging Solr server. zkHosts=" + zkHosts + ", urls=" + solrUrl); + LOG.info("Pinging Solr server. zkConnectString=" + zkConnectString + ", urls=" + solrUrl); SolrPingResponse response = solrClient.ping(); if (response.getStatus() == 0) { LOG.info("Ping to Solr server is successful for worker=" + count); @@ -198,13 +202,13 @@ public class OutputSolr extends Output { LOG.warn( String.format( "Ping to Solr server failed. It would check again. worker=%d, " - + "solrUrl=%s, zkHosts=%s, collection=%s, response=%s", - count, solrUrl, zkHosts, collection, response)); + + "solrUrl=%s, zkConnectString=%s, collection=%s, response=%s", + count, solrUrl, zkConnectString, collection, response)); } } catch (Throwable t) { LOG.warn(String.format( - "Ping to Solr server failed. It would check again. worker=%d, solrUrl=%s, zkHosts=%s, collection=%s", - count, solrUrl, zkHosts, collection), t); + "Ping to Solr server failed. It would check again. worker=%d, " + "solrUrl=%s, zkConnectString=%s, collection=%s", + count, solrUrl, zkConnectString, collection), t); } } diff --git a/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/util/SolrUtil.java b/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/util/SolrUtil.java index 31fbdedb44..2257e32446 100644 --- a/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/util/SolrUtil.java +++ b/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/util/SolrUtil.java @@ -53,9 +53,9 @@ public class SolrUtil { private SolrUtil() throws Exception { String url = LogFeederUtil.getStringProperty("logfeeder.solr.url"); - String zkHosts = LogFeederUtil.getStringProperty("logfeeder.solr.zkhosts"); + String zkConnectString = LogFeederUtil.getStringProperty("logfeeder.solr.zk_connect_string"); String collection = LogFeederUtil.getStringProperty("logfeeder.solr.core.config.name", "history"); - connectToSolr(url, zkHosts, collection); + connectToSolr(url, zkConnectString, collection); } public static SolrUtil getInstance() { @@ -78,10 +78,10 @@ public class SolrUtil { return instance; } - public SolrClient connectToSolr(String url, String zkHosts, + public SolrClient connectToSolr(String url, String zkConnectString, String collection) throws Exception { this.collectionName = collection; - solrDetail = "zkHosts=" + zkHosts + ", collection=" + collection + solrDetail = "zkConnectString=" + zkConnectString + ", collection=" + collection + ", url=" + url; logger.info("connectToSolr() " + solrDetail); @@ -89,18 +89,18 @@ public class SolrUtil { throw new Exception("For solr, collection name is mandatory. " + solrDetail); } - if (zkHosts != null && !zkHosts.isEmpty()) { - solrDetail = "zkHosts=" + zkHosts + ", collection=" + collection; + if (zkConnectString != null && !zkConnectString.isEmpty()) { + solrDetail = "zkConnectString=" + zkConnectString + ", collection=" + collection; logger.info("Using zookeepr. " + solrDetail); - solrClouldClient = new CloudSolrClient(zkHosts); + solrClouldClient = new CloudSolrClient(zkConnectString); solrClouldClient.setDefaultCollection(collection); solrClient = solrClouldClient; int waitDurationMS = 3 * 60 * 1000; checkSolrStatus(waitDurationMS); } else { if (url == null || url.trim().isEmpty()) { - throw new Exception("Both zkHosts and URL are empty. zkHosts=" - + zkHosts + ", collection=" + collection + ", url=" + throw new Exception("Both zkConnectString and URL are empty. zkConnectString=" + + zkConnectString + ", collection=" + collection + ", url=" + url); } solrDetail = "collection=" + collection + ", url=" + url; diff --git a/ambari-logsearch/ambari-logsearch-logfeeder/src/main/resources/config.json.j2 b/ambari-logsearch/ambari-logsearch-logfeeder/src/main/resources/config.json.j2 index b6301ca674..3428dd8875 100644 --- a/ambari-logsearch/ambari-logsearch-logfeeder/src/main/resources/config.json.j2 +++ b/ambari-logsearch/ambari-logsearch-logfeeder/src/main/resources/config.json.j2 @@ -928,7 +928,7 @@ "is_enabled":"{{solr_service_logs_enable}}", "comment":"Output to solr for service logs", "destination":"solr", - "zk_hosts":"{{zookeeper_quorum}}{{logsearch_solr_znode}}", + "zk_connect_string":"{{zookeeper_quorum}}{{logsearch_solr_znode}}", "collection":"{{logsearch_solr_collection_service_logs}}", "number_of_shards": "{{logsearch_collection_service_logs_numshards}}", "splits_interval_mins": "{{logsearch_service_logs_split_interval_mins}}", @@ -947,7 +947,7 @@ "comment":"Output to solr for audit records", "is_enabled":"{{solr_audit_logs_enable}}", "destination":"solr", - "zk_hosts":"{{zookeeper_quorum}}{{logsearch_solr_znode}}", + "zk_connect_string":"{{zookeeper_quorum}}{{logsearch_solr_znode}}", "collection":"{{logsearch_solr_collection_audit_logs}}", "number_of_shards": "{{logsearch_collection_audit_logs_numshards}}", "splits_interval_mins": "{{logsearch_audit_logs_split_interval_mins}}", diff --git a/ambari-logsearch/ambari-logsearch-logfeeder/src/main/resources/logfeeder.properties b/ambari-logsearch/ambari-logsearch-logfeeder/src/main/resources/logfeeder.properties index b4655cce3a..982a72d38f 100644 --- a/ambari-logsearch/ambari-logsearch-logfeeder/src/main/resources/logfeeder.properties +++ b/ambari-logsearch/ambari-logsearch-logfeeder/src/main/resources/logfeeder.properties @@ -19,7 +19,7 @@ logfeeder.metrics.collector.hosts= #filter config logfeeder.log.filter.enable=true logfeeder.solr.config.interval=5 -logfeeder.solr.zkhosts= +logfeeder.solr.zk_connect_string= logfeeder.solr.url= logfeeder.solr.kerberos.enable=false diff --git a/ambari-logsearch/ambari-logsearch-logfeeder/src/main/resources/output.config.json.j2 b/ambari-logsearch/ambari-logsearch-logfeeder/src/main/resources/output.config.json.j2 index a485600d6f..63c590e8f1 100644 --- a/ambari-logsearch/ambari-logsearch-logfeeder/src/main/resources/output.config.json.j2 +++ b/ambari-logsearch/ambari-logsearch-logfeeder/src/main/resources/output.config.json.j2 @@ -21,7 +21,7 @@ "is_enabled":"{{solr_service_logs_enable}}", "comment":"Output to solr for service logs", "destination":"solr", - "zk_hosts":"{{zookeeper_quorum}}{{logsearch_solr_znode}}", + "zk_connect_string":"{{zookeeper_quorum}}{{logsearch_solr_znode}}", "collection":"{{logsearch_solr_collection_service_logs}}", "number_of_shards": "{{logsearch_collection_service_logs_numshards}}", "splits_interval_mins": "{{logsearch_service_logs_split_interval_mins}}", @@ -40,7 +40,7 @@ "comment":"Output to solr for audit records", "is_enabled":"{{solr_audit_logs_enable}}", "destination":"solr", - "zk_hosts":"{{zookeeper_quorum}}{{logsearch_solr_znode}}", + "zk_connect_string":"{{zookeeper_quorum}}{{logsearch_solr_znode}}", "collection":"{{logsearch_solr_collection_audit_logs}}", "number_of_shards": "{{logsearch_collection_audit_logs_numshards}}", "splits_interval_mins": "{{logsearch_audit_logs_split_interval_mins}}", diff --git a/ambari-logsearch/ambari-logsearch-logfeeder/src/test/java/org/apache/ambari/logfeeder/output/OutputSolrTest.java b/ambari-logsearch/ambari-logsearch-logfeeder/src/test/java/org/apache/ambari/logfeeder/output/OutputSolrTest.java index 3014ed8342..33bb33f65c 100644 --- a/ambari-logsearch/ambari-logsearch-logfeeder/src/test/java/org/apache/ambari/logfeeder/output/OutputSolrTest.java +++ b/ambari-logsearch/ambari-logsearch-logfeeder/src/test/java/org/apache/ambari/logfeeder/output/OutputSolrTest.java @@ -57,7 +57,7 @@ public class OutputSolrTest { public void init() throws Exception { outputSolr = new OutputSolr() { @Override - SolrClient getSolrClient(String solrUrl, String zkHosts, int count) throws Exception, MalformedURLException { + SolrClient getSolrClient(String solrUrl, String zkConnectString, int count) throws Exception, MalformedURLException { return new CloudSolrClient(null) { private static final long serialVersionUID = 1L; @@ -146,11 +146,11 @@ public class OutputSolrTest { } @Test - public void testOutputToSolr_noUrlOrZKHost() throws Exception { - LOG.info("testOutputToSolr_noUrlOrZKHost()"); + public void testOutputToSolr_noUrlOrZkConnectString() throws Exception { + LOG.info("testOutputToSolr_noUrlOrZkConnectString()"); expectedException.expect(Exception.class); - expectedException.expectMessage("For solr output, either url or zk_hosts property need to be set"); + expectedException.expectMessage("For solr output, either url or zk_connect_string property need to be set"); Map<String, Object> config = new HashMap<String, Object>(); config.put("workers", "3"); |