Skip to end of metadata
Go to start of metadata

Mesos Artifacts for WSO2 products provide Marathon application definitions per product profile to deploy WSO2 products in a clustered manner on Mesos DC/OS.

For example, for WSO2 ESB the following artifacts are available for deployment on Mesos DC/OS. 

  • wso2esb-default.json
  • wso2esb-manager.json
  • wso2esb-worker.json

In addition, it has the Marathon application definition for its Configuration Registry database.

  • mysql-esb-db.json

As evident from the above file list, there is a Marathon application definition for default, worker, and manager WSO2 Carbon profiles of WSO2 ESB. The relevant Marathon applications for a worker manager profile is used in a worker manager separated cluster.

The following diagram illustrates the high-level architecture of a clustered WSO2 product deployment on Mesos, using Manager and Worker separation.


The following are the steps required to deploy a WSO2 product in a distributed manner on Mesos.

Step 1 - Build and load the WSO2 product Docker image

  1. Build the WSO2 product Docker image with the relevant profiles, based on the instructions provided in step 1 in the Deploying a WSO2 Product on Mesos section.
  2. Load the WSO2 product Docker images to the Mesos node, based on the instructions provided in step 2 in the Deploying a WSO2 Product on Mesos section.

Use the relevant profiles to build the Docker images.
For example, when the following command is executed for an ESB 4.9.0 manager - worker separated deployment, it builds the wso2esb-manager-mesos and wso2esb-worker-mesos Docker images.

build product profile docker images
/build.sh -v 4.9.0 -s mesos -r puppet -l manager|worker

After the build is successful, issue the docker images command to list the images that were successfully built.

REPOSITORY               TAG                 IMAGE ID            CREATED             SIZE
wso2esb-manager-mesos    4.9.0               82dbbb5b23d0        11 hours ago        794.8 MB
wso2esb-worker-mesos     4.9.0               367415e478eb        11 hours ago        794.8 MB

Currently, the following product versions and profiles are supported by default.

WSO2 ProductAbbreviationVersionProfiles Supported (for distributed deployment)

WSO2 API Manager


1.9.1, 1.10.1

default, api-key-manager, api-store, api-publisher, gateway-manager, gateway-worker

WSO2 Application ServerWSO2 AS5.3.0default, manager, worker
WSO2 Business Process ServerWSO2 BPS3.5.0, 3.5.1default, manager, worker
WSO2 Business Rules ServerWSO2 BRS2.1.0, 2.2.0default, manager, worker
WSO2 Complex Events ProcessorWSO2 CEP4.0.0default, presenter, worker
WSO2 Data Analytics ServerWSO2 DAS3.0.0, 3.0.1default
WSO2 Data Services ServerWSO2 DSS3.5.0default, manager, worker
WSO2 Enterprise StoreWSO2 ES2.0.0default, publisher, store
WSO2 Enterprise Service BusWSO2 ESB4.9.0default, manager, worker
WSO2 Governance RegistryWSO2 G-Reg4.6.0, 5.1.0default
WSO2 Identity ServerWSO2 IS5.0.0, 5.1.0default
WSO2 Message BrokerWSO2 MB3.0.0, 3.1.0default
WSO2 Governance Registry Publisher StoreWSO2 G-Reg PubStore5.1.0default
WSO2 Identity Server Key ManagerWSO2 IS KM5.1.0default


Step 2 - Deploy the WSO2 product on Mesos in a distributed manner

Execute the following command to trigger the distributed deployment.

./deploy.sh -d


Step 3 - Access the UIs

Add a host entry in the /etc/hosts file (for Linux) for the Marathon LB hostname marathon-lb.marathon.mesos, resolving to Marathon Load Balancer Host IP.
For example, if the Marathon Load Balancer Host IP is, the /etc/hosts file entry is as follows:

/etc/hosts file	marathon-lb.marathon.mesos

  • No labels