summaryrefslogtreecommitdiff
path: root/ambari-logsearch/ambari-logsearch-logfeeder
diff options
context:
space:
mode:
authorMiklos Gergely <mgergely@hortonworks.com>2016-06-21 19:05:52 +0200
committeroleewere <oleewere@gmail.com>2016-06-21 19:13:58 +0200
commit9471646c71da8619364e0d8cbc20fc783d6492b8 (patch)
tree7d2bb165fbd65eafab0ae234101955b0394d2eeb /ambari-logsearch/ambari-logsearch-logfeeder
parentf65ce6cd75dac9aad9feb0da80f499eeae559653 (diff)
AMBARI-17117. Fix misnamed Zookeeper connect strings in Log Search (Miklos Gergely via oleewere)
Diffstat (limited to 'ambari-logsearch/ambari-logsearch-logfeeder')
-rw-r--r--ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/logconfig/FetchConfigFromSolr.java8
-rw-r--r--ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/output/OutputSolr.java46
-rw-r--r--ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/util/SolrUtil.java18
-rw-r--r--ambari-logsearch/ambari-logsearch-logfeeder/src/main/resources/config.json.j24
-rw-r--r--ambari-logsearch/ambari-logsearch-logfeeder/src/main/resources/logfeeder.properties2
-rw-r--r--ambari-logsearch/ambari-logsearch-logfeeder/src/main/resources/output.config.json.j24
-rw-r--r--ambari-logsearch/ambari-logsearch-logfeeder/src/test/java/org/apache/ambari/logfeeder/output/OutputSolrTest.java8
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");