eagle-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From jinh...@apache.org
Subject incubator-eagle git commit: [EAGLE-638] clean up configuration for Eagle JPM aggregation feeder
Date Wed, 19 Oct 2016 09:15:55 GMT
Repository: incubator-eagle
Updated Branches:
  refs/heads/master 6f88c30f8 -> c45ac6d57


[EAGLE-638] clean up configuration for Eagle JPM aggregation feeder

Author: wujinhu <wujinhu920@126.com>

Closes #533 from wujinhu/EAGLE-638.


Project: http://git-wip-us.apache.org/repos/asf/incubator-eagle/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-eagle/commit/c45ac6d5
Tree: http://git-wip-us.apache.org/repos/asf/incubator-eagle/tree/c45ac6d5
Diff: http://git-wip-us.apache.org/repos/asf/incubator-eagle/diff/c45ac6d5

Branch: refs/heads/master
Commit: c45ac6d57a29cecde179476b93ca53fd2ef89cc1
Parents: 6f88c30
Author: wujinhu <wujinhu920@126.com>
Authored: Wed Oct 19 17:15:49 2016 +0800
Committer: wujinhu <wujinhu920@126.com>
Committed: Wed Oct 19 17:15:49 2016 +0800

----------------------------------------------------------------------
 .../jpm/aggregation/AggregationApplication.java | 19 ++---
 .../jpm/aggregation/AggregationConfig.java      | 49 ++++++-----
 .../jpm/aggregation/mr/MRMetricAggregator.java  |  2 +-
 .../mr/MRMetricsAggregateContainer.java         |  2 +-
 .../jpm/aggregation/storm/AggregationBolt.java  |  2 +-
 .../jpm/aggregation/storm/AggregationSpout.java |  2 +-
 ...gregation.AggregationApplicationProvider.xml | 85 +++++++-------------
 ...org.apache.eagle.app.spi.ApplicationProvider | 16 ++++
 .../src/main/resources/application.conf         | 34 +++-----
 ....eagle.app.jpm.JPMWebApplicationProvider.xml |  2 -
 eagle-server/pom.xml                            |  5 ++
 11 files changed, 92 insertions(+), 126 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-eagle/blob/c45ac6d5/eagle-jpm/eagle-jpm-aggregation/src/main/java/org/apache/eagle/jpm/aggregation/AggregationApplication.java
----------------------------------------------------------------------
diff --git a/eagle-jpm/eagle-jpm-aggregation/src/main/java/org/apache/eagle/jpm/aggregation/AggregationApplication.java
b/eagle-jpm/eagle-jpm-aggregation/src/main/java/org/apache/eagle/jpm/aggregation/AggregationApplication.java
index 214c688..750c9ab 100644
--- a/eagle-jpm/eagle-jpm-aggregation/src/main/java/org/apache/eagle/jpm/aggregation/AggregationApplication.java
+++ b/eagle-jpm/eagle-jpm-aggregation/src/main/java/org/apache/eagle/jpm/aggregation/AggregationApplication.java
@@ -31,11 +31,10 @@ import java.util.*;
 public class AggregationApplication extends StormApplication {
     @Override
     public StormTopology execute(Config config, StormEnvironment environment) {
-        //TODO
         List<String> metricNames = new ArrayList<>();
         String[] metricNamesArr = config.getString("aggregate.counters.metrics").split(",");
         for (int i = 0; i < metricNamesArr.length; i++) {
-            metricNames.add(metricNamesArr[i].trim());
+            metricNames.add(metricNamesArr[i].trim().toLowerCase());
         }
         List<String> groupByColumns = new ArrayList<>();
 
@@ -56,25 +55,17 @@ public class AggregationApplication extends StormApplication {
         String spoutName = "mrHistoryAggregationSpout";
         String boltName = "mrHistoryAggregationBolt";
         AggregationConfig aggregationConfig = AggregationConfig.getInstance(config);
-        int parallelism = aggregationConfig.getConfig().getInt("envContextConfig.parallelismConfig."
+ spoutName);
-        int tasks = aggregationConfig.getConfig().getInt("envContextConfig.tasks." + spoutName);
-        if (parallelism > tasks) {
-            parallelism = tasks;
-        }
+        int tasks = aggregationConfig.getConfig().getInt("stormConfig." + spoutName + "Tasks");
         topologyBuilder.setSpout(
             spoutName,
             new AggregationSpout(config, new MRMetricsAggregateContainer(metrics)),
-            parallelism
+            tasks
         ).setNumTasks(tasks);
 
-        parallelism = aggregationConfig.getConfig().getInt("envContextConfig.parallelismConfig."
+ boltName);
-        tasks = aggregationConfig.getConfig().getInt("envContextConfig.tasks." + boltName);
-        if (parallelism > tasks) {
-            parallelism = tasks;
-        }
+        tasks = aggregationConfig.getConfig().getInt("stormConfig." + boltName + "Tasks");
         topologyBuilder.setBolt(boltName,
             new AggregationBolt(config, new MRMetricsAggregateContainer(metrics)),
-            parallelism).setNumTasks(tasks).shuffleGrouping(spoutName);
+            tasks).setNumTasks(tasks).shuffleGrouping(spoutName);
 
         return topologyBuilder.createTopology();
     }

http://git-wip-us.apache.org/repos/asf/incubator-eagle/blob/c45ac6d5/eagle-jpm/eagle-jpm-aggregation/src/main/java/org/apache/eagle/jpm/aggregation/AggregationConfig.java
----------------------------------------------------------------------
diff --git a/eagle-jpm/eagle-jpm-aggregation/src/main/java/org/apache/eagle/jpm/aggregation/AggregationConfig.java
b/eagle-jpm/eagle-jpm-aggregation/src/main/java/org/apache/eagle/jpm/aggregation/AggregationConfig.java
index b527ddb..c246885 100644
--- a/eagle-jpm/eagle-jpm-aggregation/src/main/java/org/apache/eagle/jpm/aggregation/AggregationConfig.java
+++ b/eagle-jpm/eagle-jpm-aggregation/src/main/java/org/apache/eagle/jpm/aggregation/AggregationConfig.java
@@ -32,18 +32,18 @@ public class AggregationConfig implements Serializable {
 
     private ZKStateConfig zkStateConfig;
 
-    public JobExtractorConfig getJobExtractorConfig() {
-        return jobExtractorConfig;
-    }
-
-    private JobExtractorConfig jobExtractorConfig;
-
     public EagleServiceConfig getEagleServiceConfig() {
         return eagleServiceConfig;
     }
 
     private EagleServiceConfig eagleServiceConfig;
 
+    public StormConfig getStormConfig() {
+        return stormConfig;
+    }
+
+    private StormConfig stormConfig;
+
     public Config getConfig() {
         return config;
     }
@@ -56,10 +56,9 @@ public class AggregationConfig implements Serializable {
         public int zkSessionTimeoutMs;
         public int zkRetryTimes;
         public int zkRetryInterval;
-        public String zkPort;
     }
 
-    public static class JobExtractorConfig implements Serializable {
+    public static class StormConfig implements Serializable {
         public String site;
         public long aggregationDuration;
     }
@@ -75,7 +74,7 @@ public class AggregationConfig implements Serializable {
 
     private AggregationConfig() {
         this.zkStateConfig = new ZKStateConfig();
-        this.jobExtractorConfig = new JobExtractorConfig();
+        this.stormConfig = new StormConfig();
         this.eagleServiceConfig = new EagleServiceConfig();
         this.config = null;
     }
@@ -97,29 +96,27 @@ public class AggregationConfig implements Serializable {
      */
     private void init(Config config) {
         this.config = config;
-        //parse eagle job extractor
-        this.jobExtractorConfig.site = config.getString("jobExtractorConfig.site");
-        this.jobExtractorConfig.aggregationDuration = config.getLong("jobExtractorConfig.aggregationDuration");
+        //parse stormConfig
+        this.stormConfig.site = config.getString("siteId");
+        this.stormConfig.aggregationDuration = config.getLong("stormConfig.aggregationDuration");
 
         //parse eagle zk
-        this.zkStateConfig.zkQuorum = config.getString("zkStateConfig.zkQuorum");
-        this.zkStateConfig.zkPort = config.getString("zkStateConfig.zkPort");
-        this.zkStateConfig.zkSessionTimeoutMs = config.getInt("zkStateConfig.zkSessionTimeoutMs");
-        this.zkStateConfig.zkRetryTimes = config.getInt("zkStateConfig.zkRetryTimes");
-        this.zkStateConfig.zkRetryInterval = config.getInt("zkStateConfig.zkRetryInterval");
-        this.zkStateConfig.zkRoot = config.getString("zkStateConfig.zkRoot");
+        this.zkStateConfig.zkQuorum = config.getString("zookeeper.zkQuorum");
+        this.zkStateConfig.zkSessionTimeoutMs = config.getInt("zookeeper.zkSessionTimeoutMs");
+        this.zkStateConfig.zkRetryTimes = config.getInt("zookeeper.zkRetryTimes");
+        this.zkStateConfig.zkRetryInterval = config.getInt("zookeeper.zkRetryInterval");
+        this.zkStateConfig.zkRoot = config.getString("zookeeper.zkRoot");
 
         // parse eagle service endpoint
-        this.eagleServiceConfig.eagleServiceHost = config.getString("eagleProps.eagleService.host");
-        String port = config.getString("eagleProps.eagleService.port");
+        this.eagleServiceConfig.eagleServiceHost = config.getString("service.host");
+        String port = config.getString("service.port");
         this.eagleServiceConfig.eagleServicePort = (port == null ? 8080 : Integer.parseInt(port));
-        this.eagleServiceConfig.username = config.getString("eagleProps.eagleService.username");
-        this.eagleServiceConfig.password = config.getString("eagleProps.eagleService.password");
+        this.eagleServiceConfig.username = config.getString("service.username");
+        this.eagleServiceConfig.password = config.getString("service.password");
 
-        LOG.info("Successfully initialized MRHistoryJobConfig");
+        LOG.info("Successfully initialized Aggregation Config");
         LOG.info("zookeeper.quorum: " + this.zkStateConfig.zkQuorum);
-        LOG.info("zookeeper.property.clientPort: " + this.zkStateConfig.zkPort);
-        LOG.info("eagle.service.host: " + this.eagleServiceConfig.eagleServiceHost);
-        LOG.info("eagle.service.port: " + this.eagleServiceConfig.eagleServicePort);
+        LOG.info("service.host: " + this.eagleServiceConfig.eagleServiceHost);
+        LOG.info("service.port: " + this.eagleServiceConfig.eagleServicePort);
     }
 }

http://git-wip-us.apache.org/repos/asf/incubator-eagle/blob/c45ac6d5/eagle-jpm/eagle-jpm-aggregation/src/main/java/org/apache/eagle/jpm/aggregation/mr/MRMetricAggregator.java
----------------------------------------------------------------------
diff --git a/eagle-jpm/eagle-jpm-aggregation/src/main/java/org/apache/eagle/jpm/aggregation/mr/MRMetricAggregator.java
b/eagle-jpm/eagle-jpm-aggregation/src/main/java/org/apache/eagle/jpm/aggregation/mr/MRMetricAggregator.java
index 53ef968..4941552 100644
--- a/eagle-jpm/eagle-jpm-aggregation/src/main/java/org/apache/eagle/jpm/aggregation/mr/MRMetricAggregator.java
+++ b/eagle-jpm/eagle-jpm-aggregation/src/main/java/org/apache/eagle/jpm/aggregation/mr/MRMetricAggregator.java
@@ -57,7 +57,7 @@ public class MRMetricAggregator implements MetricAggregator, Serializable
{
 
         String query = String.format("%s[@site=\"%s\"]{*}",
             Constants.GENERIC_METRIC_SERVICE,
-            AggregationConfig.get().getJobExtractorConfig().site);
+            AggregationConfig.get().getStormConfig().site);
 
         GenericServiceAPIResponseEntity response;
         try {

http://git-wip-us.apache.org/repos/asf/incubator-eagle/blob/c45ac6d5/eagle-jpm/eagle-jpm-aggregation/src/main/java/org/apache/eagle/jpm/aggregation/mr/MRMetricsAggregateContainer.java
----------------------------------------------------------------------
diff --git a/eagle-jpm/eagle-jpm-aggregation/src/main/java/org/apache/eagle/jpm/aggregation/mr/MRMetricsAggregateContainer.java
b/eagle-jpm/eagle-jpm-aggregation/src/main/java/org/apache/eagle/jpm/aggregation/mr/MRMetricsAggregateContainer.java
index d504bcf..087e44c 100644
--- a/eagle-jpm/eagle-jpm-aggregation/src/main/java/org/apache/eagle/jpm/aggregation/mr/MRMetricsAggregateContainer.java
+++ b/eagle-jpm/eagle-jpm-aggregation/src/main/java/org/apache/eagle/jpm/aggregation/mr/MRMetricsAggregateContainer.java
@@ -58,7 +58,7 @@ public class MRMetricsAggregateContainer implements MetricsAggregateContainer,
S
 
             String query = String.format("%s[@site=\"%s\"]<@site>{max(currentTimeStamp)}",
                 Constants.JPA_JOB_PROCESS_TIME_STAMP_NAME,
-                AggregationConfig.get().getJobExtractorConfig().site);
+                AggregationConfig.get().getStormConfig().site);
 
             GenericServiceAPIResponseEntity response = client
                 .search(query)

http://git-wip-us.apache.org/repos/asf/incubator-eagle/blob/c45ac6d5/eagle-jpm/eagle-jpm-aggregation/src/main/java/org/apache/eagle/jpm/aggregation/storm/AggregationBolt.java
----------------------------------------------------------------------
diff --git a/eagle-jpm/eagle-jpm-aggregation/src/main/java/org/apache/eagle/jpm/aggregation/storm/AggregationBolt.java
b/eagle-jpm/eagle-jpm-aggregation/src/main/java/org/apache/eagle/jpm/aggregation/storm/AggregationBolt.java
index c1facb9..f4521cd 100644
--- a/eagle-jpm/eagle-jpm-aggregation/src/main/java/org/apache/eagle/jpm/aggregation/storm/AggregationBolt.java
+++ b/eagle-jpm/eagle-jpm-aggregation/src/main/java/org/apache/eagle/jpm/aggregation/storm/AggregationBolt.java
@@ -52,7 +52,7 @@ public class AggregationBolt extends BaseRichBolt {
     public void execute(Tuple tuple) {
         Long startTime = tuple.getLongByField("startTime");
         LOG.info("get startTime {}", startTime);
-        Long endTime = startTime + AggregationConfig.get().getJobExtractorConfig().aggregationDuration
* 1000;
+        Long endTime = startTime + AggregationConfig.get().getStormConfig().aggregationDuration
* 1000;
 
         if (metricsAggregateContainer.aggregate(startTime, endTime)) {
             collector.ack(tuple);

http://git-wip-us.apache.org/repos/asf/incubator-eagle/blob/c45ac6d5/eagle-jpm/eagle-jpm-aggregation/src/main/java/org/apache/eagle/jpm/aggregation/storm/AggregationSpout.java
----------------------------------------------------------------------
diff --git a/eagle-jpm/eagle-jpm-aggregation/src/main/java/org/apache/eagle/jpm/aggregation/storm/AggregationSpout.java
b/eagle-jpm/eagle-jpm-aggregation/src/main/java/org/apache/eagle/jpm/aggregation/storm/AggregationSpout.java
index 1f2cd46..8a2f06a 100644
--- a/eagle-jpm/eagle-jpm-aggregation/src/main/java/org/apache/eagle/jpm/aggregation/storm/AggregationSpout.java
+++ b/eagle-jpm/eagle-jpm-aggregation/src/main/java/org/apache/eagle/jpm/aggregation/storm/AggregationSpout.java
@@ -90,7 +90,7 @@ public class AggregationSpout extends BaseRichSpout {
             for (Long startTime = lastUpdateTime; startTime < lastUpdateTime + MAX_SAFE_TIME;)
{
                 collector.emit(new Values(startTime), startTime);
                 this.processStartTime.add(startTime);
-                startTime += AggregationConfig.get().getJobExtractorConfig().aggregationDuration
* 1000;
+                startTime += AggregationConfig.get().getStormConfig().aggregationDuration
* 1000;
             }
         } catch (Exception e) {
             LOG.warn("{}", e);

http://git-wip-us.apache.org/repos/asf/incubator-eagle/blob/c45ac6d5/eagle-jpm/eagle-jpm-aggregation/src/main/resources/META-INF/providers/org.apache.eagle.jpm.aggregation.AggregationApplicationProvider.xml
----------------------------------------------------------------------
diff --git a/eagle-jpm/eagle-jpm-aggregation/src/main/resources/META-INF/providers/org.apache.eagle.jpm.aggregation.AggregationApplicationProvider.xml
b/eagle-jpm/eagle-jpm-aggregation/src/main/resources/META-INF/providers/org.apache.eagle.jpm.aggregation.AggregationApplicationProvider.xml
index 99e3fca..2b328cc 100644
--- a/eagle-jpm/eagle-jpm-aggregation/src/main/resources/META-INF/providers/org.apache.eagle.jpm.aggregation.AggregationApplicationProvider.xml
+++ b/eagle-jpm/eagle-jpm-aggregation/src/main/resources/META-INF/providers/org.apache.eagle.jpm.aggregation.AggregationApplicationProvider.xml
@@ -18,92 +18,61 @@
 
 <application>
     <type>MR_JPM_AGGREGATION_APP</type>
-    <name>Map Job Monitoring Aggregation Application</name>
+    <name>Map Reduce Job Metrics Aggregation Application</name>
     <version>0.5.0-incubating</version>
     <configuration>
         <property>
-            <name>jobExtractorConfig.site</name>
-            <displayName>Site ID</displayName>
-            <value>sandbox</value>
-        </property>
-        <property>
             <name>workers</name>
-            <displayName>storm worker number</displayName>
+            <displayName>Worker Number</displayName>
+            <description>the number of storm workers will be used</description>
             <value>4</value>
         </property>
         <property>
-            <name>envContextConfig.parallelismConfig.mrHistoryAggregationSpout</name>
+            <name>stormConfig.mrHistoryAggregationSpoutTasks</name>
+            <displayName>Read Task Number</displayName>
+            <description>number of tasks to fetch job metrics from eagle server</description>
             <value>1</value>
         </property>
         <property>
-            <name>envContextConfig.tasks.mrHistoryAggregationSpout</name>
-            <value>1</value>
-        </property>
-        <property>
-            <name>envContextConfig.parallelismConfig.mrHistoryAggregationBolt</name>
+            <name>stormConfig.mrHistoryAggregationBoltTasks</name>
+            <displayName>Aggregate Task Number</displayName>
+            <description>number of tasks to aggregate metrics got from eagle server</description>
             <value>6</value>
         </property>
         <property>
-            <name>envContextConfig.tasks.mrHistoryAggregationBolt</name>
-            <value>6</value>
+            <name>topology.message.timeout.secs</name>
+            <displayName>Task Time Out Seconds</displayName>
+            <description>when a task processes metrics from [start, start + Aggregation
Duration], it will timeout after theses seconds</description>
+            <value>1800</value>
         </property>
+
         <property>
-            <name>jobExtractorConfig.aggregationDuration</name>
+            <name>stormConfig.aggregationDuration</name>
+            <displayName>Aggregation Duration Of Each Aggregate Task</displayName>
             <description>seconds, each bolt process metrics from [start, start + aggregationDuration]</description>
             <value>3600</value>
         </property>
+
         <property>
-            <name>zkStateConfig.zkQuorum</name>
-            <value>sandbox.hortonworks.com:2181</value>
-        </property>
-        <property>
-            <name>zkStateConfig.zkPort</name>
-            <value>2181</value>
-        </property>
-        <property>
-            <name>zkStateConfig.zkRoot</name>
+            <name>zookeeper.zkRoot</name>
             <value>/aggregation/mr/sandbox</value>
-        </property>
-        <property>
-            <name>zkStateConfig.zkSessionTimeoutMs</name>
-            <value>15000</value>
-        </property>
-        <property>
-            <name>zkStateConfig.zkRetryTimes</name>
-            <value>3</value>
-        </property>
-        <property>
-            <name>zkStateConfig.zkRetryInterval</name>
-            <value>20000</value>
-        </property>
-        <property>
-            <name>eagleProps.eagleService.host</name>
-            <description>eagleProps.eagleService.host</description>
-            <value>sandbox.hortonworks.com</value>
-        </property>
-        <property>
-            <name>eagleProps.eagleService.port</name>
-            <description>eagleProps.eagleService.port</description>
-            <value>9099</value>
-        </property>
-        <property>
-            <name>eagleProps.eagleService.username</name>
-            <description>eagleProps.eagleService.username</description>
-            <value>admin</value>
-        </property>
-        <property>
-            <name>eagleProps.eagleService.password</name>
-            <description>eagleProps.eagleService.password</description>
-            <value>secret</value>
+            <displayName>Zookeeper Root</displayName>
+            <description>zkRoot that used to save context for this application</description>
+            <required>true</required>
         </property>
         <property>
             <name>aggregate.counters.metrics</name>
             <value>cpu_milliseconds, file_bytes_read, file_bytes_written, hdfs_bytes_read,
hdfs_bytes_written, hdfs_read_ops, hdfs_write_ops</value>
+            <displayName>Metrics Will Be Aggregated, Split Each By ,</displayName>
+            <description>metrics will be aggregated. If has many metrics, then split
each by ,</description>
+            <required>true</required>
         </property>
         <property>
             <name>aggregate.counters.groupBys</name>
-            <description>groupBys that each metric need to aggregate. If group by many
columns, then split them by ,</description>
+            <displayName>Group By Columns For Each Metrics, Each Group Split By ;</displayName>
+            <description>group by columns for each metrics, if has many groups, each
group split by ;</description>
             <value>site, jobType; site, user; site</value>
+            <required>true</required>
         </property>
     </configuration>
     <docs>

http://git-wip-us.apache.org/repos/asf/incubator-eagle/blob/c45ac6d5/eagle-jpm/eagle-jpm-aggregation/src/main/resources/META-INF/services/org.apache.eagle.app.spi.ApplicationProvider
----------------------------------------------------------------------
diff --git a/eagle-jpm/eagle-jpm-aggregation/src/main/resources/META-INF/services/org.apache.eagle.app.spi.ApplicationProvider
b/eagle-jpm/eagle-jpm-aggregation/src/main/resources/META-INF/services/org.apache.eagle.app.spi.ApplicationProvider
new file mode 100644
index 0000000..cce1eae
--- /dev/null
+++ b/eagle-jpm/eagle-jpm-aggregation/src/main/resources/META-INF/services/org.apache.eagle.app.spi.ApplicationProvider
@@ -0,0 +1,16 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+org.apache.eagle.jpm.aggregation.AggregationApplicationProvider
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-eagle/blob/c45ac6d5/eagle-jpm/eagle-jpm-aggregation/src/main/resources/application.conf
----------------------------------------------------------------------
diff --git a/eagle-jpm/eagle-jpm-aggregation/src/main/resources/application.conf b/eagle-jpm/eagle-jpm-aggregation/src/main/resources/application.conf
index 529dd57..0421f09 100644
--- a/eagle-jpm/eagle-jpm-aggregation/src/main/resources/application.conf
+++ b/eagle-jpm/eagle-jpm-aggregation/src/main/resources/application.conf
@@ -14,23 +14,13 @@
 # limitations under the License.
 
 {
-  "envContextConfig" : {
-    "parallelismConfig" : {
-      "mrHistoryAggregationSpout" : 1,
-      "mrHistoryAggregationBolt" : 6
-    },
-    "tasks" : {
-      "mrHistoryAggregationSpout" : 1,
-      "mrHistoryAggregationBolt" : 6
-    }
-  },
-
-  "jobExtractorConfig" : {
-    "site" : "sandbox",
-    "aggregationDuration" : 3600 #seconds, each bolt process metrics from [start, start +
aggregationDuration]
+  "stormConfig" : {
+    "mrHistoryAggregationSpoutTasks" : 1,
+    "mrHistoryAggregationBoltTasks" : 6,
+    "aggregationDuration" : 3600, #seconds, each bolt process metrics from [start, start
+ aggregationDuration]
   },
 
-  "zkStateConfig" : {
+  "zookeeper" : {
     "zkQuorum" : "sandbox.hortonworks.com:2181",
     "zkPort" : "2181",
     "zkRoot" : "/aggregation/mr/sandbox",
@@ -39,13 +29,12 @@
     "zkRetryInterval" : 20000,
   },
 
-  "eagleProps" : {
-    "eagleService": {
-      "host": "sandbox.hortonworks.com:2181",
-      "port": 9099,
-      "username": "admin",
-      "password": "secret"
-    }
+
+  "service": {
+    "host": "sandbox.hortonworks.com:2181",
+    "port": 9099,
+    "username": "admin",
+    "password": "secret"
   },
 
   "aggregate" : {
@@ -58,6 +47,7 @@
   "appId":"mrHistoryAggregation",
   "mode":"LOCAL",
   "workers" : 3,
+  "siteId" : "sandbox",
   application.storm.nimbusHost=localhost
   topology.message.timeout.secs=1800
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-eagle/blob/c45ac6d5/eagle-jpm/eagle-jpm-web/src/main/resources/META-INF/providers/org.apache.eagle.app.jpm.JPMWebApplicationProvider.xml
----------------------------------------------------------------------
diff --git a/eagle-jpm/eagle-jpm-web/src/main/resources/META-INF/providers/org.apache.eagle.app.jpm.JPMWebApplicationProvider.xml
b/eagle-jpm/eagle-jpm-web/src/main/resources/META-INF/providers/org.apache.eagle.app.jpm.JPMWebApplicationProvider.xml
index 7a1b3b9..6620b21 100644
--- a/eagle-jpm/eagle-jpm-web/src/main/resources/META-INF/providers/org.apache.eagle.app.jpm.JPMWebApplicationProvider.xml
+++ b/eagle-jpm/eagle-jpm-web/src/main/resources/META-INF/providers/org.apache.eagle.app.jpm.JPMWebApplicationProvider.xml
@@ -46,14 +46,12 @@
             <value>localhost</value>
             <displayName>Eagle Service Host</displayName>
             <description>Eagle Service Host, default: localhost</description>
-            <required>true</required>
         </property>
         <property>
             <name>service.port</name>
             <value>8080</value>
             <displayName>Eagle Service Port</displayName>
             <description>Eagle Service Port, default: 8080</description>
-            <required>true</required>
         </property>
     </configuration>
 </application>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-eagle/blob/c45ac6d5/eagle-server/pom.xml
----------------------------------------------------------------------
diff --git a/eagle-server/pom.xml b/eagle-server/pom.xml
index a07cc89..88df514 100644
--- a/eagle-server/pom.xml
+++ b/eagle-server/pom.xml
@@ -309,6 +309,11 @@
                     <artifactId>eagle-jpm-service</artifactId>
                     <version>${project.version}</version>
                 </dependency>
+                <dependency>
+                    <groupId>org.apache.eagle</groupId>
+                    <artifactId>eagle-jpm-aggregation</artifactId>
+                    <version>${project.version}</version>
+                </dependency>
 
                 <!-- App: Hadoop Queue Running Monitoring-->
                 <dependency>


Mime
View raw message