Follow

Workflow Engine is failing to deploy

Issue

I updated the rules.conf and trying to deploy Workflow. However, I am receiving the following error:

  • Exception in thread "main" java.lang.RuntimeException: Topology with name `Workflow_0` already exists on cluster
    • at org.apache.storm.StormSubmitter.submitTopologyAs(StormSubmitter.java:230)
    • at org.apache.storm.StormSubmitter.submitTopology(StormSubmitter.java:288)
    • at org.apache.storm.StormSubmitter.submitTopology(StormSubmitter.java:155)
    • at com.interset.rules.RulesTopology.main(RulesTopology.java:350)

Cause

The is because the existing Workflow (Workflow_0) is already deployed and running. There can never be two Workflow with the same name deployed.

Resolutions Steps

The steps below will walk through to:

  • Check the Workflow status
  • Kill Workflow
  • Validate rules.conf
  • Deploy Workflow

The steps listed above is to cover all things Workflow related to ensure the existing Workflow is killed, and configuration validated, and deploy the updated Workflow (rules.conf).

Check Workflow status

  1. SSH to the MASTER NODE (Where analytics reside) as the Interset User
  2. Type in the following command to check Workflow status:
    • /opt/interset/rules/bin/workflow.sh --status/opt/interset/rules/conf/rules.conf
  3. The output should be similar to the following:
    • Retrieving status of Workflow: Workflow_0 .....
    • Workflow_0           ACTIVE         139       4           5346
  4. Now that we know Workflow is ACTIVE, please continue to the next section to Kill Workflow
  5. If step 3 returns nothing, please contact Interset Support (support@interset.com) for further assistance.

Kill Workflow

  1. SSH to the MASTER NODE (Where analytics reside) as the Interset User.
  2. Type in the following command to kill Workflow:
    • /opt/interset/rules/bin/workflow.sh --kill /opt/interset/rules/conf/rules.conf
  3. The following output will indicate that Workflow has been killed:
    • [main] INFO a.s.c.kill-topology - Killed topology: Workflow_0

OPTIONAL:

  • To verify if Workflow is killed, type in the following command check the status of Workflow:
    • /opt/interset/rules/bin/workflow.sh --status/opt/interset/rules/conf/rules.conf
  • The command above should return no values and back to the bash prompt.

Validate rules.conf

  1. SSH to the MASTER NODE (Where analytics reside) as the Interset User
  2. Type in the following command to validate the Workflow (rules.conf) configuration:
    • /opt/interset/rules/bin/workflow.sh --validate /opt/interset/rules/conf/rules.conf
  3. During validation, prompts will appear that require input.  These prompts will vary as they are dependent on the options that are enabled/configured.
  4. Once all configuration are validated, please continue to the Deploy Workflow section

Deploy Workflow

  1. SSH to the MASTER NODE (Where analytics reside) as the Interset User
  2. Type in the following command to deploy the updated Workflow rules.conf
    • /opt/interset/rules/bin/workflow.sh --deploy /opt/interset/rules/conf/rules.conf
  3. The output below indicates that Workflow (rules.conf) has been deployed successfully:
    • [main] INFO a.s.StormSubmitter - Finished submitting topology: Workflow_0
  4. Type in the following command to validate Workflow is ACTIVE:
    • /opt/interset/rules/bin/workflow.sh --status/opt/interset/rules/conf/rules.conf
  5. The output should be similar to the following:
    • Retrieving status of Workflow: Workflow_0 .....
    • Workflow_0           ACTIVE         139       4           5346

Workflow is now successfully deployed using the updated rules.conf.

Applies To

  • Interset 5.4.x or higher
Was this article helpful?
0 out of 0 found this helpful
Have more questions? Submit a request

Comments

Powered by Zendesk