Project Eagle has retired. For details please refer to its Attic page.

Analyze Big Data Platforms For Security and Performance

Topology Management

Since Apache Eagle 0.4.0-incubating. Apache Eagle will be called Eagle in the following.

Application manager aims to manage applications on EAGLE UI. Users can easily start/start topologies remotely or locally without any shell commands. At the same, it should be capable to sync the latest status of topologies on the execution platform (e.g., Storm1 cluster).

This tutorial will go through all parts of application manager and then give an example to use it.


Application manager consists of a daemon scheduler and an execution module. The scheduler periodically loads user operations(start/stop) from database, and the execution module executes these operations. For more details, please refer to here.


The configuration file eagle-scheduler.conf defines scheduler parameters, execution platform settings and parts of default topology configuration.

  • Scheduler properties

    Property Name Default Description
    appCommandLoaderEnabled false topology management is enabled or not
    appCommandLoaderIntervalSecs 1 defines the interval of the scheduler loads commands
    appHealthCheckIntervalSecs 5 define the interval of topology health checking, which syncs the topology execution status from storm cluster to Eagle
  • Execution platform properties

    Property Name Default Description
    envContextConfig.env storm execution environment, only storm is supported
    envContextConfig.url storm ui
    envContextConfig.nimbusHost storm nimbus host
    envContextConfig.nimbusThriftPort 6627 storm nimbus thrift port
    envContextConfig.jarFile TODO storm fat jar path
  • Topology default properties

    Some default topology properties are defined here.


  1. Editing eagle-scheduler.conf, and start Eagle service

     # enable application manager       
     appCommandLoaderEnabled = true
     # provide jar path
     envContextConfig.jarFile =
     # storm nimbus
     envContextConfig.url = ""
     envContextConfig.nimbusHost = ""

    For more configurations, please back to Application Configuration.
    After the configuration is ready, start Eagle service bin/ start.

  2. Go to admin page admin-page topology-monitor

  3. Go to management page, and create a topology description. There are three required fields
    • name: topology name
    • type: topology type [CLASS, DYNAMIC]
    • execution entry: either the class which implements interface TopologyExecutable or eagle DSL based topology definition topology-description
  4. Back to monitoring page, and choose the site/application to deploy the topology topology-execution

  5. Go to site page, and add topology configurations.

    NOTICE topology configurations defined here are REQUIRED an extra prefix .app

    Blow are some example configurations for [site=sandbox, applicatoin=hbaseSecurityLog].

    topology-configuration-1 topology-configuration-2

  6. Go to monitoring page, and start topologies start-topology-1 start-topology-2

  7. stop topologies on monitoring page stop-topology-1 stop-topology-2 stop-topology-3


  1. All mentions of “storm” on this page represent Apache Storm. 

Copyright © 2015 The Apache Software Foundation, Licensed under the Apache License, Version 2.0.
Apache Eagle, Eagle, Apache Hadoop, Hadoop, Apache HBase, HBase, Apache Hive, Hive, Apache Ambari, Ambari, Apache Spark, Spark, Apache Kafka, Kafka, Apache Storm, Storm, Apache Maven, Maven, Apache Tomcat, Tomcat, Apache Derby, Derby, Apache Cassandra, Cassandra, Apache ZooKeeper, ZooKeeper, Apache, the Apache feather logo, and the Apache project logo are trademarks of The Apache Software Foundation.