Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Table of Contents

Status

Status
titleIMPROVING

Principle

  • Minimize user operations for managing and monitoring topologies
  • REST Service centralized metadata management
  • Consistent UI experience

...

  1. Make sure consistent semantics between the term application (user space) and topology (physical space only)
  2. Topology should read configuration from SiteApplicationEntity#config instead of configuration fileconfiguration can be edited on UI
  3. Use REST Service as only entry to manage application (START/STOP/HEALTH CHECKING) and ApplicationManager to schedule the task execution and update the execution information 
  4. Eagle UI should support to manage/monitor the application on site/application page
  5. Single site/application may have more than one topologies (for example hdfsAuditLogMonitoring and userProfileMonitoring should have topologies running separately)

...

To have a better user experience with EAGLE ui, we could provide an interface to manage a certain topology via the ui page, such as submit a topology

Gliffy Diagram
name
 
ApplicationTopologyArch

Gliffy Diagram
nametopologyManagetopologyManagerArch

Schema

...

Topology Description Service

  • Service name: TopologyDescriptionService
  • Entity: TopologyDescService TopologyDescriptionEntity
  • Table name: eagle_metadata
  • Prefix: topology_definitiontopologyDescription
 AttributeTypeDescription
tagetopologyStringtopology desc name
fieldsmainClassexeClassStringapplication main topology entry class
 typeStringtopology type: build-in topology or main-class topologyDSL or CLASS
 configStringtopology config descriptionStringdescription on this topology
 versionStringtopology version

...

Topology Execution Service 

  • Service name: TopologyExecutionService
  • Entity: TopologyExecutionEntity
  • Table name: eagle_metadata
  • Prefix: topologyExecution
  • Description: topology_executiondefine the relation between an application and an topology, and maintain the execution status as well
namefields
 AttributeTypeDescription
tagssiteStringtopology site
 applicationStringtopology application 
 topologyStringtopology desc name  
fieldsfullNameStringtopology execution name: eagle_${site}_${application}_${topology}
 urlStringtopology tracking url
 deploydescriptionStringdeploy environment topology running status description
 statusStringapplication running status {INITIALIZEDNEW, STARTING, STOPPING, STARTED, STOPPING, STOPPED}
 modeStringtopology running mode: cluster or local
 environmentStringtopology execution environment, e.g., storm
 lastModifiedDatelastUpdateTimelonglast status update time

Use cases

...

  1. create a topology definition entity

...

  1. click START button
  2. check the topology's current status on the nimbus host
  3. a new thread is created to execute the submitting topology task
  4. update status

Topology Operation Service

  • Service name: TopologyOperationService
  • Entity: TopologyOperationEntity
  • Table name: eagle_metadata
  • Prefix: topologyOperation
 AttributeTypeDescription
tagsoperationString{START, STOP, STATUS}
 siteString 
 applicationString 
 operationIDString 
 topologyStringtopology name: ${topology}
fieldsstatusString{INITIALIZED, PENDING, FAILED, SUCCESS}
 messageStringexception message
 lastModifiedDatelonglast status update time

Customized Restful Apis

HTTP MethodURLPayloadDescription
POST/app/operationTopologyOperationEntitycreate an topology operation
DELETE/app/topology/{topology} delete a topology description



 

...